コード例 #1
0
        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;
            }
        }