diff options
author | metamuffin <metamuffin@disroot.org> | 2025-03-11 17:08:42 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-03-11 17:08:42 +0100 |
commit | 792ecfb57424ec407ee7b5f0de903cd0c902b68d (patch) | |
tree | e4319d44c6afbdbb87a2c7582eb71701266752d7 /src/classes/assetinfo.rs | |
parent | 7250587f46ca51ad662a0895a51742669b9cbb8f (diff) | |
download | unity-tools-792ecfb57424ec407ee7b5f0de903cd0c902b68d.tar unity-tools-792ecfb57424ec407ee7b5f0de903cd0c902b68d.tar.bz2 unity-tools-792ecfb57424ec407ee7b5f0de903cd0c902b68d.tar.zst |
move classes to modules
Diffstat (limited to 'src/classes/assetinfo.rs')
-rw-r--r-- | src/classes/assetinfo.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/classes/assetinfo.rs b/src/classes/assetinfo.rs new file mode 100644 index 0000000..dadcea3 --- /dev/null +++ b/src/classes/assetinfo.rs @@ -0,0 +1,23 @@ +use super::{gameobject::GameObject, pptr::PPtr}; +use crate::object::Value; +use anyhow::Result; +use serde::Serialize; + +#[derive(Debug, Serialize)] +pub struct AssetInfo { + pub preload_index: i32, + pub preload_size: i32, + pub asset: PPtr<GameObject>, +} +impl AssetInfo { + pub fn from_value(v: Value) -> Result<Self> { + let mut fields = v.as_class("AssetInfo").unwrap(); + Ok(AssetInfo { + preload_index: fields["preloadIndex"].as_i32().unwrap(), + preload_size: fields["preloadSize"].as_i32().unwrap(), + asset: PPtr::from_value(fields.remove("asset").unwrap()) + .unwrap() + .cast(), + }) + } +} |