Esempio n. 1
0
    protected TileView _CreateTile(Field.Tile.TileTypes type)
    {
        TileView tile = null;

        switch (type)
        {
        case Field.Tile.TileTypes.ROAD:
            tile = _info.roadFactory.Allocate().GetComponent <TileView>();
            break;

        case Field.Tile.TileTypes.WALL:
            tile = _info.wallFactory.Allocate().GetComponent <TileView>();
            break;

        case Field.Tile.TileTypes.SPAWN:
            tile = _info.spawnFactory.Allocate().GetComponent <TileView>();
            break;

        case Field.Tile.TileTypes.STORK:
            tile = _info.storkFactory.Allocate().GetComponent <TileView>();
            break;

        case Field.Tile.TileTypes.STRUCTURE:
            tile = _info.structureFactory.Allocate().GetComponent <TileView>();
            break;
        }

        return(tile);
    }
Esempio n. 2
0
    public void UpdateTile(Field.Tile.TileTypes prevType, TileView tileView)
    {
        if (!_tiles.Contains(tileView))
        {
            throw new UnityException("Tile view not found!");
        }

        tileView.tile.left.tileView.ResetTile();
        tileView.tile.up.tileView.ResetTile();
        tileView.tile.right.tileView.ResetTile();
        tileView.tile.down.tileView.ResetTile();

        _tiles.Remove(tileView);
        _RenderTile(tileView.tile, tileView.transform.position);
        _ClearTile(prevType, tileView);
    }
Esempio n. 3
0
    protected void _FreeTile(Field.Tile.TileTypes type, TileView tile)
    {
        switch (type)
        {
        case Field.Tile.TileTypes.ROAD:
            _info.roadFactory.Free(tile.gameObject);
            break;

        case Field.Tile.TileTypes.CURTAIN:
            _info.curtainFactory.Free(tile.gameObject);
            break;

        case Field.Tile.TileTypes.WALL:
            _info.wallFactory.Free(tile.gameObject);
            break;

        case Field.Tile.TileTypes.SPAWN:
            _info.spawnFactory.Free(tile.gameObject);
            break;

        case Field.Tile.TileTypes.STORK:
            _info.storkFactory.Free(tile.gameObject);
            break;

        case Field.Tile.TileTypes.STRUCTURE:
            _info.structureFactory.Free(tile.gameObject);
            break;

        case Field.Tile.TileTypes.EXIT:
            _info.exitFactory.Free(tile.gameObject);
            break;

        case Field.Tile.TileTypes.TURNSTILE:
            _info.turnstileFactory.Free(tile.gameObject);
            break;
        }
    }
Esempio n. 4
0
 public void UpdateView(Field.Tile.TileTypes prevType)
 {
     fieldView.UpdateTile(prevType, this);
 }
Esempio n. 5
0
 protected void _ClearTile(Field.Tile.TileTypes type, TileView tile)
 {
     tile.Clear();
     _FreeTile(type, tile);
 }