Пример #1
0
        private static void FixWaterSurfaceTiles(QuickGameTileMap tileMap, BorderTileSet tileSet)
        {
            int surfaceTile = tileSet.GetCell(BorderSide.Left | BorderSide.Right | BorderSide.Bottom);
            List <ArrayGridPoint <int> > tilesToChange = new List <ArrayGridPoint <int> >();

            foreach (var tile in tileMap.Tiles.Cells.PointItems)
            {
                if (tile.Value == surfaceTile)
                {
                    var left = tile.GetAdjacent(Direction.Left);
                    if (left.Value != surfaceTile)
                    {
                        tilesToChange.Add(left);
                    }

                    var right = tile.GetAdjacent(Direction.Right);
                    if (right.Value != surfaceTile)
                    {
                        tilesToChange.Add(right);
                    }
                }
            }

            foreach (var tile in tilesToChange)
            {
                tile.Set(surfaceTile);
            }
        }
Пример #2
0
        public static BorderTileSet Grass()
        {
            var ts = new BorderTileSet(Textures.GrassTiles);

            ts.Set(BorderSide.EmptySpace, 0, 3);

            ts.Set(BorderSide.None, 3, 1);

            ts.Set(BorderSide.Right | BorderSide.Bottom, 2, 0);
            ts.Set(BorderSide.Left | BorderSide.Right | BorderSide.Bottom, 3, 0);
            ts.Set(BorderSide.Left | BorderSide.Bottom, 4, 0);

            ts.Set(BorderSide.Right | BorderSide.Top | BorderSide.Bottom, 2, 1);
            ts.Set(BorderSide.AllSides, 3, 1);

            ts.Set(BorderSide.Left | BorderSide.Top | BorderSide.Bottom, 4, 1);

            ts.Set(BorderSide.Top | BorderSide.Right, 2, 2);
            ts.Set(BorderSide.Left | BorderSide.Top | BorderSide.Right, 3, 2);
            ts.Set(BorderSide.Left | BorderSide.Top, 4, 2);

            ts.Set(BorderSide.AllSides | BorderSide.NotTopLeftCorner, 1, 1);
            ts.Set(BorderSide.AllSides | BorderSide.NotTopRightCorner, 0, 1);
            ts.Set(BorderSide.AllSides | BorderSide.NotBottomLeftCorner, 1, 0);
            ts.Set(BorderSide.AllSides | BorderSide.NotBottomRightCorner, 0, 0);

            return(ts);
        }
Пример #3
0
        public static BorderTileSet BrownRock()
        {
            var ts = new BorderTileSet(Textures.RockTiles);

            ts.Set(BorderSide.EmptySpace, 0, 7);

            ts.Set(BorderSide.None, 0, 1);

            ts.Set(BorderSide.Right | BorderSide.Bottom, 3, 0);
            ts.Set(BorderSide.Left | BorderSide.Right | BorderSide.Bottom, 4, 0);
            ts.Set(BorderSide.Left | BorderSide.Bottom, 5, 0);
            ts.Set(BorderSide.Bottom, 6, 0);

            ts.Set(BorderSide.Top | BorderSide.Bottom | BorderSide.Right, 3, 1);

            ts.Set(BorderSide.Left | BorderSide.Top, 8, 7);
            ts.Set(BorderSide.Left | BorderSide.Right | BorderSide.Top, 7, 7);
            ts.Set(BorderSide.Right | BorderSide.Top, 6, 7);


            ts.Set(BorderSide.AllSides, 4, 1);

            ts.Set(BorderSide.Top | BorderSide.Bottom | BorderSide.Left, 5, 1);
            ts.Set(BorderSide.Top | BorderSide.Bottom, 6, 1);

            ts.Set(BorderSide.AllSides | BorderSide.NotTopLeftCorner, 4, 7);
            ts.Set(BorderSide.AllSides | BorderSide.NotTopRightCorner, 5, 7);


            return(ts);
        }
Пример #4
0
        public static BorderTileSet Border()
        {
            var ts = new BorderTileSet(Textures.Border);

            ts.SetSquare(0, 0);
            return(ts);
        }
Пример #5
0
        public static BorderTileSet BreakableBlock()
        {
            var ts = new BorderTileSet(Textures.RockTiles);

            ts.Set(BorderSide.EmptySpace, 0, 7);
            ts.Set(BorderSide.None, 1, 7);

            return(ts);
        }
Пример #6
0
        public static BorderTileSet Ladder()
        {
            var ts = new BorderTileSet(Textures.RockTiles);

            ts.Set(BorderSide.EmptySpace, 0, 7);

            ts.Set(BorderSide.None, 0, 4);
            ts.Set(BorderSide.Bottom, 0, 5);
            ts.Set(BorderSide.Top | BorderSide.Bottom, 0, 5);
            ts.Set(BorderSide.Top, 0, 6);

            return(ts);
        }
Пример #7
0
        public static BorderTileSet Water()
        {
            var ts = new BorderTileSet(Textures.RockTiles);

            ts.Set(BorderSide.EmptySpace, 0, 7);

            ts.Set(BorderSide.None, 1, 6);
            ts.Set(BorderSide.Bottom | BorderSide.Left | BorderSide.Right, 1, 5);
            ts.Set(BorderSide.Bottom | BorderSide.Left, 1, 5);
            ts.Set(BorderSide.Bottom | BorderSide.Right, 1, 5);

            return(ts);
        }
Пример #8
0
        public static BorderTileSet BlueRock()
        {
            var ts = new BorderTileSet(Textures.RockTiles);

            ts.Set(BorderSide.EmptySpace, 0, 7);
            ts.Set(BorderSide.None, 0, 1);

            ts.Set(BorderSide.Right | BorderSide.Bottom, 3, 2);
            ts.Set(BorderSide.Left | BorderSide.Right | BorderSide.Bottom, 4, 2);
            ts.Set(BorderSide.Left | BorderSide.Bottom, 5, 2);
            ts.Set(BorderSide.Bottom, 6, 2);

            ts.Set(BorderSide.Top | BorderSide.Bottom | BorderSide.Right, 3, 3);

            ts.Set(BorderSide.AllSides, 4, 1);

            ts.Set(BorderSide.Top | BorderSide.Bottom | BorderSide.Left, 5, 3);
            ts.Set(BorderSide.Top | BorderSide.Bottom, 6, 3);


            return(ts);
        }