public override void Parse(object[] parameters = null) { bool parseFast = false; if (parameters != null && parameters.Length > 0) { parseFast = (bool)parameters[0]; } var CMapDataBlocks = this.ResourceFile.ResourceData.FindBlocks(MetaName.CMapData); if (CMapDataBlocks.Length == 0) { throw new Exception("CMapData block not found !"); } var CMapData = MetaUtils.ConvertData <CMapData>(CMapDataBlocks[0]); this.CMapData = new MCMapData(); if (parseFast) { this.CMapData.ParseFast(this.ResourceFile.ResourceData, CMapData); } else { this.CMapData.Parse(this.ResourceFile.ResourceData, CMapData); } for (int i = 0; i < this.CMapData.Entities.Count; i++) { this.CMapData.Entities[i].ParentIndex = this.CMapData.Entities[i].ParentIndex; } }
public YmapFile() { this.CMapData = new MCMapData(); }