use super::{gameobject::GameObject, pptr::PPtr}; use crate::object::{Value, parser::FromValue}; use anyhow::Result; use serde::Serialize; #[derive(Debug, Serialize)] pub struct AssetInfo { pub preload_index: i32, pub preload_size: i32, pub asset: PPtr, } impl FromValue for AssetInfo { fn from_value(v: Value) -> Result { let mut fields = v.as_class("AssetInfo").unwrap(); Ok(AssetInfo { preload_index: fields.field("preloadIndex")?, preload_size: fields.field("preloadSize")?, asset: fields.field("asset")?, }) } }