Ejemplo n.º 1
0
    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;
 }