public void UpdateKingdomResources() { PlayerKingdomData playerData = PlayerGameManager.GetInstance.playerData; int tmpAmount = 0; for (int i = 0; i < curDecision.rewards.Count; i++) { switch (curDecision.rewards[i].resourceType) { case ResourceType.Coin: if (curDecision.rewards[i].rewardAmount < 0) { tmpAmount = Mathf.Abs(curDecision.rewards[i].rewardAmount); tmpAmount = playerData.coins - tmpAmount; if (tmpAmount < 0) { playerResourceLacking = true; } } continue; case ResourceType.Troops: if (curDecision.rewards[i].rewardAmount < 0) { tmpAmount = Mathf.Abs(curDecision.rewards[i].rewardAmount); tmpAmount = playerData.ObtainTotalTroops() - tmpAmount; if (tmpAmount < 0) { playerResourceLacking = true; } } continue; case ResourceType.Food: if (curDecision.rewards[i].rewardAmount < 0) { tmpAmount = Mathf.Abs(curDecision.rewards[i].rewardAmount); tmpAmount = playerData.foods - tmpAmount; if (tmpAmount < 0) { playerResourceLacking = true; } } continue; case ResourceType.Population: if (curDecision.rewards[i].rewardAmount < 0) { tmpAmount = Mathf.Abs(curDecision.rewards[i].rewardAmount); tmpAmount = playerData.population - tmpAmount; if (tmpAmount < 0) { playerResourceLacking = true; } } continue; } if (playerResourceLacking) { break; } } if (playerResourceLacking) { isClickable = false; if (myBtn == null) { myBtn = this.GetComponent <Button>(); } myBtn.interactable = isClickable; } else { isClickable = true; if (myBtn == null) { myBtn = this.GetComponent <Button>(); } myBtn.interactable = isClickable; } }