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); }
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); }
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; } }
public void UpdateView(Field.Tile.TileTypes prevType) { fieldView.UpdateTile(prevType, this); }
protected void _ClearTile(Field.Tile.TileTypes type, TileView tile) { tile.Clear(); _FreeTile(type, tile); }