public void CreateTile(int x, int y, bool reversed = false) { float tileX = transform.position.x + TileMetrics.tileSize * x; float tileY = transform.position.y + TileMetrics.tileSize * y; Tile tile = Instantiate <Tile>( tilePrefab, new Vector3(tileX, tileY, 0f), tilePrefab.transform.rotation ); tile.transform.parent = transform; List <Sprite> possibleSprites = GetPossibleSprites(x, y); TileType type; Sprite sprite; if (reversed) { sprite = reverseSprite; type = new ReverseTileType(tile); } else { sprite = possibleSprites[Random.Range(0, possibleSprites.Count)]; type = new NormalTileType(tile); } tile.Init(type, sprite, x, y); tiles[x, y] = tile; }
public Tile(Tileset _tileset, NormalSpecial _classification, PositionType _type, NormalTileType _normalType, SpecialTileType _specialType, TileLocation _locationOnTileset, string _name) { tileset = _tileset; classification = _classification; type = _type; specialType = _specialType; normalType = _normalType; locationOnTileset = _locationOnTileset; name = _name; }