Exemplo n.º 1
0
 public static void CarveAllTiles <T> (ITilezoneTileDataStream tiles, int index, TileFunctionBoolDelegate <T> CarveFunc, T arg)
 {
     for (int x = 0; x < tiles.width; x++)
     {
         for (int y = 0; y < tiles.height; y++)
         {
             if (CarveFunc(x, y, arg))
             {
                 tiles[x, y, index] = Tile.empty;
             }
         }
     }
 }
Exemplo n.º 2
0
 public static void CarveTiles <T1, T2, T3> (int x, int y, int width, int height, ITilezoneTileDataStream tiles, int index, TileFunctionBoolDelegate <T1, T2, T3> CarveFunc, T1 arg1, T2 arg2, T3 arg3, bool useLocalCoordinates)
 {
     for (int xx = 0; xx < width; xx++)
     {
         for (int yy = 0; yy < height; yy++)
         {
             bool func = useLocalCoordinates ? CarveFunc(xx, yy, arg1, arg2, arg3) : CarveFunc(x + xx, y + yy, arg1, arg2, arg3);
             if (func)
             {
                 tiles[x + xx, y + yy, index] = Tile.empty;
             }
         }
     }
 }
Exemplo n.º 3
0
 public static void FillTiles <T1, T2, T3> (int x, int y, int width, int height, ITilezoneTileDataStream tiles, int index, Tile tile, TileFunctionBoolDelegate <T1, T2, T3> TileFunc, T1 arg1, T2 arg2, T3 arg3, bool useLocalCoordinates, bool writeEmptyTiles = false)
 {
     for (int xx = 0; xx < width; xx++)
     {
         for (int yy = 0; yy < height; yy++)
         {
             bool func = useLocalCoordinates ? TileFunc(xx, yy, arg1, arg2, arg3) : TileFunc(x + xx, y + yy, arg1, arg2, arg3);
             if (func)
             {
                 tiles[x + xx, y + yy, index] = tile;
             }
             else if (writeEmptyTiles)
             {
                 tiles[x + xx, y + yy, index] = Tile.empty;
             }
         }
     }
 }
Exemplo n.º 4
0
 public static void FillAllTiles <T1, T2, T3> (ITilezoneTileDataStream tiles, int index, Tile tile, TileFunctionBoolDelegate <T1, T2, T3> TileFunc, T1 arg1, T2 arg2, T3 arg3, bool writeEmptyTiles = false)
 {
     for (int x = 0; x < tiles.width; x++)
     {
         for (int y = 0; y < tiles.height; y++)
         {
             Tile newTile = TileFunc(x, y, arg1, arg2, arg3) ? tile : Tile.empty;
             if (writeEmptyTiles || newTile != Tile.empty)
             {
                 tiles[x, y, index] = newTile;
             }
         }
     }
 }