public override void Build(MetaBuilder mb, bool isRoot = false) { if (this.Nodes != null) { this.MetaStructure.Nodes = mb.AddItemArrayPtr(MetaName.CScenarioChainingNode, this.Nodes.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray()); } MCScenarioChainingNode.AddEnumAndStructureInfo(mb); if (this.Edges != null) { this.MetaStructure.Edges = mb.AddItemArrayPtr(MetaName.CScenarioChainingEdge, this.Edges.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray()); } MCScenarioChainingEdge.AddEnumAndStructureInfo(mb); if (this.Chains != null) { this.MetaStructure.Chains = mb.AddItemArrayPtr(MetaName.CScenarioChain, this.Chains.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray()); } MCScenarioChain.AddEnumAndStructureInfo(mb); MUnk_4023740759.AddEnumAndStructureInfo(mb); if (isRoot) { mb.AddItem(this.MetaName, this.MetaStructure); this.Meta = mb.GetMeta(); } }
public override void Build(MetaBuilder mb, bool isRoot = false) { this.MetaStructure.VersionNumber = this.VersionNumber; this.Points.Build(mb); this.MetaStructure.Points = this.Points.MetaStructure; MCScenarioPointContainer.AddEnumAndStructureInfo(mb); if (this.EntityOverrides != null) { this.MetaStructure.EntityOverrides = mb.AddItemArrayPtr(MetaName.CScenarioEntityOverride, this.EntityOverrides.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray()); } MCScenarioEntityOverride.AddEnumAndStructureInfo(mb); this.Unk_3696045377.Build(mb); this.MetaStructure.Unk_3696045377 = this.Unk_3696045377.MetaStructure; MUnk_4023740759.AddEnumAndStructureInfo(mb); this.AccelGrid.Build(mb); this.MetaStructure.AccelGrid = this.AccelGrid.MetaStructure; Mrage__spdGrid2D.AddEnumAndStructureInfo(mb); // this.MetaStructure.Unk_3844724227 = this.Unk_3844724227; if (this.Clusters != null) { this.MetaStructure.Clusters = mb.AddItemArrayPtr(MetaName.CScenarioPointCluster, this.Clusters.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray()); } MCScenarioPointCluster.AddEnumAndStructureInfo(mb); this.LookUps.Build(mb); this.MetaStructure.LookUps = this.LookUps.MetaStructure; MCScenarioPointLookUps.AddEnumAndStructureInfo(mb); MCScenarioPointRegion.AddEnumAndStructureInfo(mb); if (isRoot) { mb.AddItem(this.MetaName, this.MetaStructure); this.Meta = mb.GetMeta(); } }
public override void Parse(MetaFile meta, CScenarioPointRegion CScenarioPointRegion) { this.Meta = meta; this.MetaStructure = CScenarioPointRegion; this.VersionNumber = CScenarioPointRegion.VersionNumber; this.Points = new MCScenarioPointContainer(); this.Points.Parse(meta, CScenarioPointRegion.Points); var EntityOverrides = MetaUtils.ConvertDataArray <CScenarioEntityOverride>(meta, CScenarioPointRegion.EntityOverrides); this.EntityOverrides = EntityOverrides?.Select(e => { var msw = new MCScenarioEntityOverride(); msw.Parse(meta, e); return(msw); }).ToList(); this.Unk_3696045377 = new MUnk_4023740759(); this.Unk_3696045377.Parse(meta, CScenarioPointRegion.Unk_3696045377); this.AccelGrid = new Mrage__spdGrid2D(); this.AccelGrid.Parse(meta, CScenarioPointRegion.AccelGrid); // this.Unk_3844724227 = CScenarioPointRegion.Unk_3844724227; var Clusters = MetaUtils.ConvertDataArray <CScenarioPointCluster>(meta, CScenarioPointRegion.Clusters); this.Clusters = Clusters?.Select(e => { var msw = new MCScenarioPointCluster(); msw.Parse(meta, e); return(msw); }).ToList(); this.LookUps = new MCScenarioPointLookUps(); this.LookUps.Parse(meta, CScenarioPointRegion.LookUps); }