ResourceTuple getResourceForTile(GameTile tile, int numCollected) { ResourceTuple resourceCollected = new ResourceTuple(); ResourceType typeOfResource = GameAsset.getResourceOfHex(tile.tileType); if (typeOfResource != ResourceType.Null) { resourceCollected.resourceTuple [typeOfResource] = numCollected; } return(resourceCollected); }
/*public void tradeGoldDone(){ * Debug.Log ("trade ini"); * Debug.Log ("gold cnt: " + CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].getGoldCoinsCnt ()); * AssetTuple assetsToReceive = GameAsset.getAssetOfIndex (tradePanel.getGoldChoiceInt(), 1); * if (CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].getGoldCoinsCnt() >= 2) { * EventTransferManager.instance.GoldTrade (PhotonNetwork.player.ID - 1); * EventTransferManager.instance.OnTradeWithBank(CatanManager.instance.currentPlayerTurn, true, assetsToReceive); * tradePanel.hideErrorText (); * tradePanel.gameObject.SetActive (false); * EventTransferManager.instance.OnOperationFailure (); * } * }*/ public void tradeDone() { int tradeRatio = CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].getMinimumTradeValue(tradePanel.getTradeChoiceInt()); if (tradePanel.getTradeChoiceInt() >= 5 && CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].unlockedTradingHouse()) { tradeRatio = 2; } if (CatanManager.instance.players [PhotonNetwork.player.ID - 1].playedMerchantFleet && tradePanel.getTradeChoiceInt() == CatanManager.instance.players [PhotonNetwork.player.ID - 1].merchantFleetSelection) { tradeRatio = 2; } if (CatanManager.instance.merchantController == PhotonNetwork.player.ID - 1) { ResourceType typeOfResource = GameAsset.getResourceOfHex(GameObject.FindGameObjectWithTag("Merchant").GetComponent <Merchant> ().occupyingTile.tileType); if ((int)typeOfResource == tradePanel.getTradeChoiceInt()) { tradeRatio = 2; } } AssetTuple assetsToSpend = GameAsset.getAssetOfIndex(tradePanel.getTradeChoiceInt(), tradeRatio); AssetTuple assetsToReceive = GameAsset.getAssetOfIndex(tradePanel.getReceiveChoiceInt(), 1); if (CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].hasAvailableAssets(assetsToSpend)) { //CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].spendAssets (assetsToSpend); //CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].receiveAssets (assetsToReceive); EventTransferManager.instance.OnTradeWithBank(CatanManager.instance.currentPlayerTurn, false, assetsToSpend); EventTransferManager.instance.OnTradeWithBank(CatanManager.instance.currentPlayerTurn, true, assetsToReceive); //print (players [currentPlayerTurn].playerName + " gives 4 " + tradePanel.getTradeChoiceInt ().ToString () + " to the bank and receives 1 " + assetsToReceive.ToString()); tradePanel.hideErrorText(); tradePanel.gameObject.SetActive(false); EventTransferManager.instance.OnOperationFailure(); } else { print("Insufficient resources! Please try again..."); tradePanel.showNotEnoughError(tradePanel.getTradeChoiceInt()); } }
void resourceCollectionEvent(int diceOutcome) { for (int i = 0; i < players.Count; i++) { if (setupPhase && i != currentPlayerTurn) { continue; } else { List <GameTile> eligibleTilesForPlayer = getTilesWithDiceValue(players [i], diceOutcome, false); for (int j = 0; j < eligibleTilesForPlayer.Count; j++) { if (eligibleTilesForPlayer [j].canProduce()) { print(players [i].playerName + " gets " + "1 " + GameAsset.getResourceOfHex(eligibleTilesForPlayer [j].tileType)); giveResourcesToPlayer(players [i], getResourceForTile(eligibleTilesForPlayer [j], 1)); } } } } }
// Update is called once per frame void Update() { if (CatanManager.instance.players [PhotonNetwork.player.ID - 1].playedMerchantFleet && giveselection == CatanManager.instance.players [PhotonNetwork.player.ID - 1].merchantFleetSelection) { Text giveText = GetComponentsInChildren <Text> () [0]; giveText.text = "Give 2: "; } if (CatanManager.instance.merchantController == PhotonNetwork.player.ID - 1) { ResourceType typeOfResource = GameAsset.getResourceOfHex(GameObject.FindGameObjectWithTag("Merchant").GetComponent <Merchant> ().occupyingTile.tileType); if ((int)typeOfResource == giveselection) { Text giveText = GetComponentsInChildren <Text> () [0]; giveText.text = "Give 2: "; } else { int tradeRatio = CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].getMinimumTradeValue(giveselection); if (getTradeChoiceInt() >= 5 && CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].unlockedTradingHouse()) { tradeRatio = 2; } Text giveText = GetComponentsInChildren <Text> () [0]; giveText.text = "Give " + tradeRatio + ":"; } } else { int tradeRatio = CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].getMinimumTradeValue(giveselection); if (getTradeChoiceInt() >= 5 && CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].unlockedTradingHouse()) { tradeRatio = 2; } Text giveText = GetComponentsInChildren <Text> () [0]; giveText.text = "Give " + tradeRatio + ":"; } }