public MapBlock(MapFacet parent, uint index, IMapBlockData data) { _Parent = parent; _EntryId = index; //_Patch = null; _Tiles = new MapTile[64]; for (int i = 0; i < 64; ++i) { _Tiles[i] = new MapTile(this, data.Lands[i], data.Items[i]); } }
void IDataFactoryWriter.SetMapBlock(byte mapindex, uint id, IMapBlockData tiles) { //container_Map[mapindex].Write(id, 0, (tiles as MapBlockData).LandHeader); var lands = tiles.Lands.Select(t => new LandMapTileData(t)).ToArray(); container_Map[mapindex].Write(id, 4, lands, 0, 64); var items = new ItemMapTileData[tiles.Items.Sum(t=>t.Length)]; for (int i = -1, c = 0; c < 64; ++c) for (int e = 0; e < tiles.Items[c].Length; ++e) items[++i] = new ItemMapTileData((byte)c, tiles.Items[c][e]); container_Sta[mapindex].Write(id, 0, items, 0, (uint)items.Length); }
public MapBlock(MapFacet parent, uint index, IMapBlockData data) { _Parent = parent; _EntryId = index; //_Patch = null; _Tiles = new MapTile[64]; for (int i = 0; i < 64; ++i) _Tiles[i] = new MapTile(this, data.Lands[i], data.Items[i]); }