Ejemplo n.º 1
0
        public HeightMapComposer(IRoomModel roomModel)
            : base(Headers.HeightMapMessageComposer)
        {
            WriteInt(roomModel.MapSizeX);
            WriteInt(roomModel.MapSizeX * roomModel.MapSizeY);

            for (int y = 0; y < roomModel.MapSizeY; y++)
            {
                for (int x = 0; x < roomModel.MapSizeX; x++)
                {
                    //Tile is valid.
                    if (roomModel.GetTileState(x, y))
                    {
                        WriteShort((short)(roomModel.GetHeight(x, y) * 256));
                    }
                    else
                    {
                        WriteShort(-1);
                    }
                }
            }
        }