/* Create tile */ public Tile(Vector2 dimensions, Vector2 worldPosition, Vector2 gridPosition, int index) { _dims = dimensions; _pos = worldPosition; _gridPos = gridPosition; _isOccupied = false; _occupier = null; _hasProp = false; _prop = null; _index = index; _isOriginOfProp = false; }
/* Set the tile as occupied, and reset the decorator (if it exists) */ public bool SetOccupied(LevelTileEntity inhabitant, bool destroyPrevious = true, bool refreshSprites = false) { SetProp(null, destroyPrevious); if (_occupier && destroyPrevious) { _occupier.DestroyMe(); } _isOccupied = (inhabitant != null); _occupier = inhabitant; if (refreshSprites) { for (int i = 0; i < LevelManager.Instance.Grid.AllTiles.Count; i++) { if (LevelManager.Instance.Grid.AllTiles[i].IsOccupied) { LevelManager.Instance.Grid.AllTiles[i].Occupier.RefreshSprite(); } } } return(true); }