using System.Collections.Generic; using System.IO; namespace ACE.DatLoader.Entity { public class ObjDesc : IUnpackable { public uint PaletteID { get; private set; } public List SubPalettes { get; } = new List(); public List TextureChanges { get; } = new List(); public List AnimPartChanges { get; } = new List(); public void Unpack(BinaryReader reader) { reader.AlignBoundary(); reader.ReadByte(); // ObjDesc always starts with 11. var numPalettes = reader.ReadByte(); var numTextureMapChanges = reader.ReadByte(); var numAnimPartChanges = reader.ReadByte(); if (numPalettes > 0) PaletteID = reader.ReadAsDataIDOfKnownType(0x04000000); SubPalettes.Unpack(reader, numPalettes); TextureChanges.Unpack(reader, numTextureMapChanges); AnimPartChanges.Unpack(reader, numAnimPartChanges); reader.AlignBoundary(); } } }