diff options
Diffstat (limited to 'src/classes/assetinfo.rs')
-rw-r--r-- | src/classes/assetinfo.rs | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/classes/assetinfo.rs b/src/classes/assetinfo.rs index 9fad90a..01c4530 100644 --- a/src/classes/assetinfo.rs +++ b/src/classes/assetinfo.rs @@ -1,5 +1,5 @@ -use super::{FromValue, gameobject::GameObject, pptr::PPtr}; -use crate::object::Value; +use super::{gameobject::GameObject, pptr::PPtr}; +use crate::object::{Value, parser::FromValue}; use anyhow::Result; use serde::Serialize; @@ -13,14 +13,9 @@ impl FromValue for AssetInfo { 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: fields - .remove("asset") - .unwrap() - .parse::<PPtr>() - .unwrap() - .cast(), + preload_index: fields.field("preloadIndex")?, + preload_size: fields.field("preloadSize")?, + asset: fields.field("asset")?, }) } } |