Пример #1
0
        public void ShowPotentialChanges()
        {
            if (ResourceInformationController.GetInstance == null)
            {
                return;
            }

            PlayerKingdomData playerData = PlayerGameManager.GetInstance.playerData;

            int tmp = 0;

            List <ResourceReward> rewardTmp = new List <ResourceReward>();
            ResourceReward        reward    = new ResourceReward();

            for (int i = 0; i < optionPanelList.Count; i++)
            {
                tmp += optionPanelList[i].amountToSell * optionPanelList[i].pricePerItem;

                ResourceReward tempReward = new ResourceReward();
                int            sold       = optionPanelList[i].amountToSell;
                tempReward.resourceType = ResourceType.Troops;
                tempReward.unitName     = optionPanelList[i].nameTitleText.text;
                tempReward.rewardAmount = -sold;
                rewardTmp.Add(tempReward);
            }

            reward.resourceType = currentResourceReturnType;
            reward.rewardAmount = tmp;

            rewardTmp.Add(reward);

            ResourceInformationController.GetInstance.ShowCurrentPanelPotentialResourceChanges(rewardTmp);
        }
Пример #2
0
    public void ObtaincoinRewards()
    {
        BattlefieldCommander enemyUnits  = new BattlefieldCommander();
        BattlefieldCommander playerUnits = new BattlefieldCommander();

        if (TransitionManager.GetInstance.isPlayerAttacker)
        {
            enemyUnits  = BattlefieldSpawnManager.GetInstance.defendingCommander;
            playerUnits = BattlefieldSpawnManager.GetInstance.attackingCommander;
        }
        else
        {
            enemyUnits  = BattlefieldSpawnManager.GetInstance.attackingCommander;
            playerUnits = BattlefieldSpawnManager.GetInstance.defendingCommander;
        }


        coinRewards = new List <ResourceReward>();
        // Obtain Salvaged Prize
        int salvagedCoins = 0;

        for (int i = 0; i < enemyUnits.unitsCarried.Count; i++)
        {
            salvagedCoins += enemyUnits.CheckUnitDeathCount(enemyUnits.unitsCarried[i].unitInformation.unitName);
        }
        salvagedCoins += playerUnits.CheckTotalDeadTroopsCount();
        salvagedCoins *= UnityEngine.Random.Range(0, 3);


        // Obtain Injured Prize
        int deadCount = playerUnits.CheckTotalDeadTroopsCount();

        ResourceReward deadPenalty = new ResourceReward();

        deadPenalty.resourceTitle = "Dead Penalty";
        deadPenalty.resourceType  = ResourceType.Coin;
        deadPenalty.rewardAmount  = -deadCount;

        ResourceReward salvagedPrize = new ResourceReward();

        salvagedPrize.resourceTitle = "Salvaged Prize";
        salvagedPrize.resourceType  = ResourceType.Coin;
        salvagedPrize.rewardAmount  = salvagedCoins;

        coinRewards.Add(salvagedPrize);
        coinRewards.Add(deadPenalty);

        if (PlayerGameManager.GetInstance != null)
        {
            for (int i = 0; i < coinRewards.Count; i++)
            {
                PlayerGameManager.GetInstance.ReceiveResource(coinRewards[i].rewardAmount, coinRewards[i].resourceType);
            }
            SaveLoadManager.GetInstance.SaveCurrentData();
        }
    }
Пример #3
0
        public void RewardEvent(EventDecisionData thisEvent, int rewardIdx)
        {
            if (thisEvent.eventDecision == null || thisEvent.eventDecision[rewardIdx] == null)
            {
                return;
            }
            // This is to release every Reward
            for (int i = 0; i < thisEvent.eventDecision[rewardIdx].rewards.Count; i++)
            {
                // Debug.Log("[REWARD INDEX " + i + " AMOUNT]" + thisEvent.eventDecision[rewardIdx].rewards[i].rewardAmount);
                ResourceReward tmp = thisEvent.eventDecision[rewardIdx].rewards[i];
                if (tmp.rewardAmount > 0)
                {
                    // Debug.Log("Reward Amount: " + tmp.rewardAmount);
                    PlayerGameManager.GetInstance.ReceiveResource(tmp.rewardAmount, tmp.resourceType);
                    ResourceInformationController.GetInstance.currentPanel.UpdateResourceData(tmp.resourceType, tmp.rewardAmount);
                }
                else
                {
                    // Debug.Log("Penalty Amount: " + tmp.rewardAmount);
                    PlayerGameManager.GetInstance.RemoveResource(tmp.rewardAmount, tmp.resourceType);
                    ResourceInformationController.GetInstance.currentPanel.UpdateResourceData(tmp.resourceType, tmp.rewardAmount, false);
                }
            }


            if (currentEvent.isStoryArc)
            {
                if (currentStory == null || string.IsNullOrEmpty(currentStory.storyTitle))
                {
                    SetStoryArc();
                }
                else
                {
                    ProgressStoryArc();
                }
            }

            currentEvent    = null;
            allowStartEvent = false;
            eventFinished  += 1;

            if (PlayerGameManager.GetInstance != null)
            {
                SaveData();
            }

            EndCards();
        }
        public List<ResourceReward> ObtainUpgradeRewards()
        {
            List<ResourceReward> tmp = new List<ResourceReward>();
            ResourceReward coinCost = new ResourceReward();
            coinCost.resourceType = Kingdoms.ResourceType.Coin;

            if(buildingCondition == BuildingCondition.Ruins)
            {
                coinCost.rewardAmount = repairPrice;
            }
            else
            {
                coinCost.rewardAmount = repairPrice * (buildingLevel+1);
            }

            tmp.Add(coinCost);

            return tmp;
        }
Пример #5
0
    public void ObtainTerritoryRewards()
    {
        int taxMoney = TransitionManager.GetInstance.attackedPointInformationData.coinTax;

        // Tax Money
        if (playerWon)
        {
            ResourceReward taxPrize = new ResourceReward();
            taxPrize.resourceTitle = "Tax Prize";
            taxPrize.resourceType  = ResourceType.Coin;
            taxPrize.rewardAmount  = taxMoney;
            coinRewards.Add(taxPrize);
            PlayerGameManager.GetInstance.campaignData.totalWeeklyTax += taxMoney;
        }
        else if (TransitionManager.GetInstance.attackedPointInformationData.ownedBy == TerritoryOwners.Player)
        {
            PlayerGameManager.GetInstance.campaignData.totalWeeklyTax -= taxMoney;
        }


        // Obtain Map Point
        if (PlayerGameManager.GetInstance != null && PlayerGameManager.GetInstance.campaignData != null)
        {
            MapPointInformationData tmp = TransitionManager.GetInstance.attackedPointInformationData;

            if (PlayerGameManager.GetInstance.campaignData.mapPointList.Find(x => x.pointName == tmp.pointName) != null)
            {
                if (playerWon)
                {
                    PlayerGameManager.GetInstance.campaignData.mapPointList.Find(x => x.pointName == tmp.pointName).ownedBy = Maps.TerritoryOwners.Player;
                }
                else
                {
                    PlayerGameManager.GetInstance.campaignData.mapPointList.Find(x => x.pointName == tmp.pointName).ownedBy = enemyTerritoryName;
                }
            }

            SaveLoadManager.GetInstance.SaveCurrentCampaignData();
        }
    }