// UPDATE BARRACKS NEEDS MORE DATA (HERO AND UNIT INFORMATION DATA) public void UpdateBarracks() { TroopResourceBehavior troopsBehavior = PlayerGameManager.GetInstance.troopBehavior; KingdomUnitStorage unitStorage = myController.unitStorage; if (cardIdx == 0) // TRAIN NEW SOLDIER { // Placeholders, need proper Unit Storage later on float hp = unitStorage.GetUnitInformation("Recruit").maxHealth; float dmg = unitStorage.GetUnitInformation("Recruit").maxDamage; float spd = unitStorage.GetUnitInformation("Recruit").origSpeed; spd *= 10; if (PlayerGameManager.GetInstance != null) { hp += PlayerGameManager.GetInstance.troopBehavior.techHealth; dmg += PlayerGameManager.GetInstance.troopBehavior.techDmg; } int recruitCount = 0; if (playerData.troopsList == null) { playerData.troopsList = new List <TroopsInformation>(); } if (playerData.troopsList.Find(x => x.unitInformation.unitName == "Recruit") != null) { recruitCount = playerData.troopsList.Find(x => x.unitInformation.unitName == "Recruit").totalUnitCount; } List <float> tmp = new List <float>(); tmp.Add(recruitCount);; tmp.Add(hp); tmp.Add(spd); tmp.Add(dmg); currentPage.informationPanelList[0].SetMultiCounter(tmp, "Recruits"); // HP DAMAGE SPEED string secondDescription = "Max trained units the barracks can support [" + playerData.barracksCapacity + "]"; currentPage.informationPanelList[1].SetSingleCounter(playerData.barracksCapacity, secondDescription, "Barracks Capacity"); // BARRACKS CAPACITY string thirdDescription = "Training cost to arm a person."; currentPage.informationPanelList[2].SetSingleCounter(troopsBehavior.GetRecruitCoins, thirdDescription, "Training Cost"); // TRAINING COST } else if (cardIdx == 2) // HEROES { if (PlayerGameManager.GetInstance != null) { if (PlayerGameManager.GetInstance.playerData.myHeroes != null && PlayerGameManager.GetInstance.playerData.myHeroes.Count > 0) { BaseHeroInformationData curHero = PlayerGameManager.GetInstance.playerData.myHeroes[selectedHeroIdx]; currentPage.informationPanelList[0].SetGrowthCounter((int)curHero.unitInformation.maxHealth, curHero.healthGrowthRate, "HEALTH", curHero.unitInformation.unitName); currentPage.informationPanelList[1].SetGrowthCounter((int)curHero.unitInformation.maxDamage, curHero.damageGrowthRate, "DAMAGE"); currentPage.informationPanelList[2].SetGrowthCounter((int)curHero.unitInformation.origSpeed, curHero.speedGrowthRate, "SPEED"); } else { myController.ShowInfoBlocker("Recruit Hero in Tavern"); } } } else if (cardIdx == 1) // TRAIN SOLDIERS { // Placeholders, need proper Unit Storage later on float Sprhp = unitStorage.GetUnitInformation("Spearman").maxHealth, Sprdmg = unitStorage.GetUnitInformation("Spearman").maxDamage, Sprspd = unitStorage.GetUnitInformation("Spearman").origSpeed; float Swdhp = unitStorage.GetUnitInformation("Swordsman").maxHealth, Swddmg = unitStorage.GetUnitInformation("Swordsman").maxDamage, Swdspd = unitStorage.GetUnitInformation("Swordsman").origSpeed; float Archp = unitStorage.GetUnitInformation("Archer").maxHealth, Arcdmg = unitStorage.GetUnitInformation("Archer").maxDamage, Arcspd = unitStorage.GetUnitInformation("Archer").origSpeed; Sprspd *= 10; Arcspd *= 10; Swdspd *= 10; if (PlayerGameManager.GetInstance != null) { Sprhp += PlayerGameManager.GetInstance.troopBehavior.techHealth; Swdhp += PlayerGameManager.GetInstance.troopBehavior.techHealth; Archp += PlayerGameManager.GetInstance.troopBehavior.techHealth; Sprdmg += PlayerGameManager.GetInstance.troopBehavior.techDmg; Swddmg += PlayerGameManager.GetInstance.troopBehavior.techDmg; Arcdmg += PlayerGameManager.GetInstance.troopBehavior.techDmg; } List <float> tmp = new List <float>(); for (int i = 0; i < currentPage.informationPanelList.Count; i++) { if (i == 0) { int count = 0; if (playerData.troopsList == null) { playerData.troopsList = new List <TroopsInformation>(); } if (playerData.troopsList.Find(x => x.unitInformation.unitName == "Swordsman") != null) { count = playerData.troopsList.Find(x => x.unitInformation.unitName == "Swordsman").totalUnitCount; } tmp.Add(count); tmp.Add(Swdhp); tmp.Add(Swdspd); tmp.Add(Swddmg); currentPage.informationPanelList[i].SetMultiCounter(tmp, "Swordsman"); currentPage.informationPanelList[i].panelIcon.sprite = TransitionManager.GetInstance.unitStorage.GetUnitIcon("Swordsman"); } else if (i == 1) { int count = 0; if (playerData.troopsList == null) { playerData.troopsList = new List <TroopsInformation>(); } if (playerData.troopsList.Find(x => x.unitInformation.unitName == "Spearman") != null) { count = playerData.troopsList.Find(x => x.unitInformation.unitName == "Spearman").totalUnitCount; } tmp.Add(count); tmp.Add(Sprhp); tmp.Add(Sprspd); tmp.Add(Sprdmg); currentPage.informationPanelList[i].SetMultiCounter(tmp, "Spearman"); currentPage.informationPanelList[i].panelIcon.sprite = TransitionManager.GetInstance.unitStorage.GetUnitIcon("Spearman"); } else if (i == 2) { int count = 0; if (playerData.troopsList == null) { playerData.troopsList = new List <TroopsInformation>(); } if (playerData.troopsList.Find(x => x.unitInformation.unitName == "Archer") != null) { count = playerData.troopsList.Find(x => x.unitInformation.unitName == "Archer").totalUnitCount; } tmp.Add(count); tmp.Add(Archp); tmp.Add(Arcspd); tmp.Add(Arcdmg); currentPage.informationPanelList[i].SetMultiCounter(tmp, "Archer"); currentPage.informationPanelList[i].panelIcon.sprite = TransitionManager.GetInstance.unitStorage.GetUnitIcon("Archer"); } tmp.Clear(); } } }
public void UpdateTavern() { if (cardIdx == 0) // RECRUIT HEROES { if (playerData.tavernHeroes == null || playerData.tavernHeroes.Count <= 0) { myController.ShowInfoBlocker("No Heroes has Arrived"); } else { for (int i = 0; i < currentPage.informationPanelList.Count; i++) { if (playerData.tavernHeroes[i] == null) { break; } List <int> health = new List <int>(); health.Add((int)playerData.tavernHeroes[i].unitInformation.maxHealth); health.Add((int)playerData.tavernHeroes[i].healthGrowthRate); List <int> speed = new List <int>(); speed.Add((int)playerData.tavernHeroes[i].unitInformation.origSpeed); speed.Add((int)playerData.tavernHeroes[i].speedGrowthRate); List <int> damage = new List <int>(); damage.Add((int)playerData.tavernHeroes[i].unitInformation.minDamage); damage.Add((int)playerData.tavernHeroes[i].unitInformation.maxDamage); damage.Add((int)playerData.tavernHeroes[i].damageGrowthRate); currentPage.informationPanelList[i].SetHeroCounter(health, damage, speed, playerData.tavernHeroes[i].unitInformation.attackType, playerData.tavernHeroes[i].unitInformation.unitName); } } } else if (cardIdx == 1) // GIVE DRINKS { List <float> tmp = new List <float>(); tmp.Add(playerData.potentialCommonHero); tmp.Add(playerData.potentialRareHero); tmp.Add(playerData.potentialLegHero); currentPage.informationPanelList[0].SetMultiCounter(tmp, "Total Hero Chances"); List <float> tmp1 = new List <float>(); tmp1.Add(playerData.potentialGoodsMerchant); tmp1.Add(playerData.potentialEquipsMerchant); tmp1.Add(playerData.potentialExoticMerchant); currentPage.informationPanelList[1].SetMultiCounter(tmp1, "Total Merchant Chances"); List <float> tmp2 = new List <float>(); tmp2.Add(playerData.potentialCommonHero); tmp2.Add(playerData.potentialRareHero); tmp2.Add(playerData.potentialLegHero); currentPage.informationPanelList[2].SetMultiCounter(tmp, "Total Mercenary Chances"); } else if (cardIdx == 2) // HIRE MERCENARIES { KingdomUnitStorage unitStorage = myController.unitStorage; float Sprhp = unitStorage.GetUnitInformation("Spearman").maxHealth, Sprdmg = unitStorage.GetUnitInformation("Spearman").maxDamage, Sprspd = unitStorage.GetUnitInformation("Spearman").origSpeed; float Swdhp = unitStorage.GetUnitInformation("Swordsman").maxHealth, Swddmg = unitStorage.GetUnitInformation("Swordsman").maxDamage, Swdspd = unitStorage.GetUnitInformation("Swordsman").origSpeed; float Archp = unitStorage.GetUnitInformation("Archer").maxHealth, Arcdmg = unitStorage.GetUnitInformation("Archer").maxDamage, Arcspd = unitStorage.GetUnitInformation("Archer").origSpeed; Sprspd *= 10; Arcspd *= 10; Swdspd *= 10; if (PlayerGameManager.GetInstance != null) { Sprhp += PlayerGameManager.GetInstance.troopBehavior.techHealth; Swdhp += PlayerGameManager.GetInstance.troopBehavior.techHealth; Archp += PlayerGameManager.GetInstance.troopBehavior.techHealth; Sprdmg += PlayerGameManager.GetInstance.troopBehavior.techDmg; Swddmg += PlayerGameManager.GetInstance.troopBehavior.techDmg; Arcdmg += PlayerGameManager.GetInstance.troopBehavior.techDmg; } List <float> tmp = new List <float>(); tmp.Add(playerData.ObtainMercenaryInformation("Swordsman").totalUnitCount); tmp.Add(Swdhp); tmp.Add(Swddmg); tmp.Add(Swdspd); currentPage.informationPanelList[0].SetMultiCounter(tmp, "Swordsman Available"); List <float> tmp1 = new List <float>(); tmp1.Add(playerData.ObtainMercenaryInformation("Spearman").totalUnitCount); tmp1.Add(Sprhp); tmp1.Add(Sprdmg); tmp1.Add(Sprspd); currentPage.informationPanelList[1].SetMultiCounter(tmp1, "Spearman Available"); List <float> tmp2 = new List <float>(); tmp2.Add(playerData.ObtainMercenaryInformation("Archer").totalUnitCount); tmp2.Add(Archp); tmp2.Add(Arcdmg); tmp2.Add(Arcspd); currentPage.informationPanelList[2].SetMultiCounter(tmp2, "Archer Available"); } }