public bool Update() { // TODO: Take in an "effort" or "work" amount to subtract from // the job's time-to-completion meter. When meter reaches // zero, job is completed so return true. Board.Tile tile = game.board.GetTile(position); if (tile.HasLargeItem()) { Debug.LogError( "Dropping job, Tile" + position + " already has large item." ); return(true); // TODO: Replace with some other status check. } Item.Wall wall = new Item.Wall(game); wall.position = position; tile.SetLargeItem(wall); return(true); }
public void Render() { if (backgroundSpriteRenderer == null || largeItemSpriteRenderer == null) { // This can happen if `Render` is called _before_ `Start`, which // happens when first constructed. It is a normal thing to happen // so we just ignore this state. return; } // TODO: Render a sprite for each item on the tile. largeItemSpriteRenderer.sprite = null; TileManager tm = TileManager.instance; // No tile? Render an edge! if (tile == null) { SetType(Board.TileType.Edge); return; } // If we have a large item, fetch its sprite. if (tile.HasLargeItem()) { Debug.Log("Tile" + gridPosition + " has a large item!"); Sprite sprite = null; if (tm.itemSprites.TryGetValue(tile.GetLargeItem().type, out sprite)) { largeItemSpriteRenderer.sprite = sprite; } else { Debug.LogError("Could not find sprite for " + tile.GetLargeItem().type); } } SetType(tile.type); }