Пример #1
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.BatchAABB.Build(mb);
            this.MetaStructure.BatchAABB = this.BatchAABB.MetaStructure;
            Mrage__spdAABB.AddEnumAndStructureInfo(mb);

            this.MetaStructure.ScaleRange       = this.ScaleRange;
            this.MetaStructure.archetypeName    = this.ArchetypeName;
            this.MetaStructure.lodDist          = this.LodDist;
            this.MetaStructure.LodFadeStartDist = this.LodFadeStartDist;
            this.MetaStructure.LodInstFadeRange = this.LodInstFadeRange;
            this.MetaStructure.OrientToTerrain  = this.OrientToTerrain;
            if (this.InstanceList != null)
            {
                this.MetaStructure.InstanceList = mb.AddItemArrayPtr(MetaName.rage__fwGrassInstanceListDef__InstanceData, this.InstanceList.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            Mrage__fwGrassInstanceListDef__InstanceData.AddEnumAndStructureInfo(mb);


            Mrage__fwGrassInstanceListDef.AddEnumAndStructureInfo(mb);

            if (isRoot)
            {
                mb.AddItem(this.MetaName, this.MetaStructure);

                this.Meta = mb.GetMeta();
            }
        }
        public override void Parse(MetaFile meta, rage__fwInstancedMapData rage__fwInstancedMapData)
        {
            this.Meta          = meta;
            this.MetaStructure = rage__fwInstancedMapData;

            this.ImapLink = rage__fwInstancedMapData.ImapLink;
            // this.PropInstanceList = rage__fwInstancedMapData.PropInstanceList;
            var GrassInstanceList = MetaUtils.ConvertDataArray <rage__fwGrassInstanceListDef>(meta, rage__fwInstancedMapData.GrassInstanceList);

            this.GrassInstanceList = GrassInstanceList?.Select(e => { var msw = new Mrage__fwGrassInstanceListDef(); msw.Parse(meta, e); return(msw); }).ToList();
        }
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.ImapLink         = this.ImapLink;
            this.MetaStructure.PropInstanceList = new Array_Structure();
            if (this.GrassInstanceList != null)
            {
                this.MetaStructure.GrassInstanceList = mb.AddItemArrayPtr(MetaName.rage__fwGrassInstanceListDef, this.GrassInstanceList.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            Mrage__fwGrassInstanceListDef.AddEnumAndStructureInfo(mb);


            Mrage__fwInstancedMapData.AddEnumAndStructureInfo(mb);

            if (isRoot)
            {
                mb.AddItem(this.MetaName, this.MetaStructure);

                this.Meta = mb.GetMeta();
            }
        }