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); } }
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); }
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); }
public static BorderTileSet Border() { var ts = new BorderTileSet(Textures.Border); ts.SetSquare(0, 0); return(ts); }
public static BorderTileSet BreakableBlock() { var ts = new BorderTileSet(Textures.RockTiles); ts.Set(BorderSide.EmptySpace, 0, 7); ts.Set(BorderSide.None, 1, 7); return(ts); }
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); }
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); }
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); }