/* * Function will be called after a player arrives to his destination. * Set this player's PlayerMovement to disabled, and as described in the usage section * of that script. */ private void OnPlayerArrived(EventInfo eventInfo) { AbstractTile currentTile = currentPlayer.GetCurrentTile(); // convert tile to interface, to use each tile's type's specific functions ITile currentTileInterface = currentTile as ITile; currentPlayer.playerMovement.enabled = false; if (!currentTile.tileHasOwner()) { // prompt player to pay if (currentTile.GetTILE_TYPE() != TILE_TYPE.EMPTY) { currentTileInterface.prompyBuyLocation(); GUImanager.EnableButton(BUTTON_TYPE.BUY); } } else { if (currentTile.tileHasItem()) { currentTile.buyItem(currentPlayer); } // if tile has an item, player is forced to buy item if he has enough money // GUImanager.promptTileBuy(currentPlayer.GetCurrentTile().getTileCard()); } GUImanager.EnableButton(BUTTON_TYPE.END_TURN); }
private void fillTileItem(AbstractTile tile) { if (tile.tileHasItem()) { ITEM item = tile.getItemType(); int capacity = playerProject.getItemCapacity(item); for (int i = 0; i < capacity; i++) { addItem(item); } if (itemIsOwned(item)) { playerInventory[item] = -1; } else { playerInventory.Add(item, -1); } } }