Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }