use byteorder::{LE, ReadBytesExt};
use crate::Result;
use crate::common::extensions::{BufReaderExt, Enumerable};
#[derive(Default, Debug)]
pub struct TagDependency {
pub tag_group: String,
pub(super) name_offset: u32,
pub asset_id: u64,
pub tag_id: i32,
pub parent_index: i32,
pub name: Option<String>,
}
impl Enumerable for TagDependency {
fn read<R: BufReaderExt>(&mut self, reader: &mut R) -> Result<()> {
self.tag_group = reader.read_fixed_string(4)?.chars().rev().collect(); self.name_offset = reader.read_u32::<LE>()?;
self.asset_id = reader.read_u64::<LE>()?;
self.tag_id = reader.read_i32::<LE>()?;
self.parent_index = reader.read_i32::<LE>()?;
Ok(())
}
}