private void GenerateBlocks() { for (int i = 0; i < mapData.Length; i++) { for (int j = 0; j < mapData[i].Length; j++) { WTTileData tileData = mapData[i][j]; if (tileData.tileType == TileType.Solid) { WTWall block = new WTWall(WTConfig.tileSize, WTConfig.tileSize); Vector2 newPos = GetOriginOfTile(i, j); block.SetPosition(newPos.x + WTConfig.tileSize / 2f, newPos.y + WTConfig.tileSize / 2f); block.sprite.color = Color.black; AddChild(block); } } } }
public WTTileMap(int mapWidth, int mapHeight) { instance = this; this.mapWidth = mapWidth; this.mapHeight = mapHeight; mapData = new WTTileData[mapWidth][]; for (int i = 0; i < mapWidth; i++) { mapData[i] = new WTTileData[mapHeight]; } for (int i = 0; i < mapWidth; i++) { int spotHeight = Random.Range(0, 2); int spaceHeight = Random.Range(4, 6); for (int j = 0; j < mapHeight; j++) { WTTileData tileData = new WTTileData(); tileData.x = i; tileData.y = j; if (j <= spotHeight || j > spotHeight + spaceHeight) { tileData.tileType = TileType.Solid; } else { tileData.tileType = TileType.Empty; } mapData[i][j] = tileData; } } GenerateBlocks(); }
public static bool TilesShareLocation(WTTileData tile1, WTTileData tile2) { return(tile1.x == tile2.x && tile1.y == tile2.y); }