public static void DrawLine(STETilemap tilemap, int x0, int y0, int x1, int y1, uint[,] tileData, bool randomize = false) { int w = tileData.GetLength(0); int h = tileData.GetLength(1); TilemapDrawingUtils.Line(x0, y0, x1, y1, (x, y) => { int dataIdx0 = randomize ? Random.Range(0, w) : (x % w + w) % w; int dataIdx1 = randomize ? Random.Range(0, h) : (y % h + h) % h; tilemap.SetTileData(x, y, tileData[dataIdx0, dataIdx1]); return(true); } ); }
public static void DrawLine(Tilemap tilemap, Vector2 locPosA, Vector2 locPosB, uint[,] tileData) { int w = tileData.GetLength(0); int h = tileData.GetLength(1); int x0 = TilemapUtils.GetGridX(tilemap, locPosA); int y0 = TilemapUtils.GetGridY(tilemap, locPosA); int x1 = TilemapUtils.GetGridX(tilemap, locPosB); int y1 = TilemapUtils.GetGridY(tilemap, locPosB); TilemapDrawingUtils.Line(x0, y0, x1, y1, (x, y) => { tilemap.SetTileData(x, y, tileData[(x % w + w) % w, (y % h + h) % h]); return(true); } ); }