public static AnimPartChange read(BinaryReader binaryReader)
        {
            AnimPartChange newObj = new AnimPartChange();

            newObj.part_index = binaryReader.ReadByte();
            newObj.part_id    = Util.readDataIDOfKnownType(0x1000000, binaryReader);
            return(newObj);
        }
示例#2
0
        public override List <TreeNode> BuildTree()
        {
            var treeNode = new List <TreeNode>();

            if (_hook is ACE.DatLoader.Entity.AnimationHooks.ReplaceObjectHook _replaceObjectHook)
            {
                var animPartChange = new AnimPartChange(_replaceObjectHook.APChange);
                treeNode.AddRange(animPartChange.BuildTree());
            }
            treeNode.AddRange(base.BuildTree());

            return(treeNode);
        }
        public static ObjDesc read(BinaryReader binaryReader)
        {
            ObjDesc newObj = new ObjDesc();

            binaryReader.ReadByte(); // Unk, should always be == 17

            byte numPalettes = binaryReader.ReadByte();
            byte numTMCs     = binaryReader.ReadByte();
            byte numAPCs     = binaryReader.ReadByte();

            if (numPalettes > 0)
            {
                newObj.paletteID = Util.readDataIDOfKnownType(0x4000000, binaryReader);
                for (int i = 0; i < numPalettes; ++i)
                {
                    newObj.subpalettes.Add(Subpalette.read(binaryReader));
                }
            }

            if (numTMCs > 0)
            {
                for (int i = 0; i < numTMCs; ++i)
                {
                    newObj.tmChanges.Add(TextureMapChange.read(binaryReader));
                }
            }

            if (numAPCs > 0)
            {
                for (int i = 0; i < numAPCs; ++i)
                {
                    newObj.apChanges.Add(AnimPartChange.read(binaryReader));
                }
            }

            Util.readToAlign(binaryReader);

            return(newObj);
        }