public static WalkPathFile headerConstructor(List <Byte> rawHeader) { WalkPathFile data = new WalkPathFile(); data.Header = rawHeader; return(data); }
public void addData(List <byte> rawData) { EntitySpawns = new ObservableCollection <SpawnItem>(); EventSpawns = new ObservableCollection <SpawnItem>(); WalkPathSpawns = new ObservableCollection <WalkPathFile>(); Unk16Spawns = new ObservableCollection <Str_EntryItem>(); Unk8Spawns = new ObservableCollection <Str_EntryItem>(); int currentOffset = 0; foreach (var i in Enumerable.Range(0, EntityCount)) { //Console.WriteLine("DELETE DEBUG > Entity: " + DataAccess.readHexString(rawData.GetRange(currentOffset, SpawnItem.entrySize), 0, SpawnItem.entrySize)); EntitySpawns.Add(new SpawnItem(rawData.GetRange(currentOffset, SpawnItem.entrySize))); currentOffset += SpawnItem.entrySize; } foreach (var i in Enumerable.Range(0, EventCount)) { //Console.WriteLine("DELETE DEBUG > Event: " + DataAccess.readHexString(rawData.GetRange(currentOffset, SpawnItem.entrySize), 0, SpawnItem.entrySize)); EventSpawns.Add(new SpawnItem(rawData.GetRange(currentOffset, SpawnItem.entrySize))); currentOffset += SpawnItem.entrySize; } foreach (var i in Enumerable.Range(0, WalkPathCount)) { // Header WalkPathFile walkPath = WalkPathFile.headerConstructor(rawData.GetRange(currentOffset, WalkPathFile.headerSize)); currentOffset += WalkPathFile.headerSize; // Data walkPath.addData(rawData.GetRange(currentOffset, walkPath.ItemCount * WalkPathItem.entrySize)); WalkPathSpawns.Add(walkPath); currentOffset += walkPath.ItemCount * WalkPathItem.entrySize; } foreach (var i in Enumerable.Range(0, Unk16Count)) { Unk16Spawns.Add(new Str_EntryItem(rawData.GetRange(currentOffset, 16))); currentOffset += 16; } foreach (var i in Enumerable.Range(0, Unk8Count)) { Unk8Spawns.Add(new Str_EntryItem(rawData.GetRange(currentOffset, 8))); currentOffset += 8; } }