public void Write(BinaryWriter bw) { Width = (byte)Tiles.Width; Height = (byte)Tiles.Height; Version.Write(bw); bw.Write(Width); bw.Write(Height); bw.Write(Floor); bw.Write((byte)0); bw.Write(EncounterCount); bw.Write(ETableCount); bw.Write(EnterScript); bw.Write(MoveScript); bw.Write(NameId); bw.Write(LocalCount); bw.Write(ItemCount); bw.Write(ExitScript); bw.WritePadding(Padding); for (int y = 0; y < Height; y++) { for (int x = 0; x < Width; x++) { Tiles.At(x, y).Write(bw); } } bw.WriteMany(Encounters); bw.WriteMany(ETables); bw.WriteMany(Items); }
public List <Tile> GetNeighbors(Coordinates coordinates) { int row = coordinates.Row; int column = coordinates.Column; List <Tile> tiles = new List <Tile>(); if (column > 1) { tiles.Add(Tiles.At(row, column - 1)); } if (row > 1) { tiles.Add(Tiles.At(row - 1, column)); } if (row < 10) { tiles.Add(Tiles.At(row + 1, column)); } if (column < 10) { tiles.Add(Tiles.At(row, column + 1)); } return(tiles); }