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); }
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(); } }
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; }
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(); } }