Exemplo n.º 1
0
        internal static Model ParseAsset(BinaryReader reader, Asset asset, AssetImportCollection imports)
        {
            var hierarchy  = imports.GetImportedData <ModelBoneHierarchy>(reader).Value;
            var subObjects = reader.ReadArrayAtOffset(() => W3xSubObject.Parse(reader, imports));

            var modelSubObjects = new ModelSubObject[subObjects.Length];

            for (var i = 0; i < subObjects.Length; i++)
            {
                var subObject = subObjects[i];
                modelSubObjects[i] = new ModelSubObject(
                    subObject.Name,
                    hierarchy.Bones[subObject.BoneIndex],
                    subObject.RenderObject);
            }

            return(new Model(asset, hierarchy, modelSubObjects));
        }
Exemplo n.º 2
0
        public override object Parse(Asset asset, BinaryReader reader, AssetImportCollection imports, AssetParseContext context)
        {
            var hierarchy  = imports.GetImportedData <ModelBoneHierarchy>(reader);
            var subObjects = reader.ReadArrayAtOffset(() => W3xSubObject.Parse(reader, imports));

            var modelSubObjects = new ModelSubObject[subObjects.Length];

            for (var i = 0; i < subObjects.Length; i++)
            {
                var subObject = subObjects[i];
                modelSubObjects[i] = new ModelSubObject(
                    subObject.Name,
                    hierarchy.Bones[subObject.BoneIndex],
                    subObject.RenderObject);
            }

            return(new Model(asset, hierarchy, modelSubObjects));
        }