void Update() { if (MasterScript.systemGUI.selectedSystem != selectedSystem) { NGUITools.SetActive(improvementsWindow, false); selectedSystem = MasterScript.systemGUI.selectedSystem; improvementsBasic = MasterScript.systemListConstructor.systemList [selectedSystem].systemObject.GetComponent <ImprovementsBasic> (); } if (MasterScript.cameraFunctionsScript.openMenu == true) { if (selectedPlanet != -1) { if (improvementsWindow.activeInHierarchy == true) { UpdateTabs(); } UpdateBuiltImprovements(); UpdateSystemEffects(selectedSystem, selectedPlanet); UpdateUpkeep(); } } if (Input.GetKeyDown("c")) { NGUITools.SetActive(availableImprovements, false); } }
public void IncreaseAmber(int system) { SystemSIMData systemSIMData = MasterScript.systemListConstructor.systemList [system].systemObject.GetComponent <SystemSIMData> (); ImprovementsBasic improvementsBasic = MasterScript.systemListConstructor.systemList [system].systemObject.GetComponent <ImprovementsBasic> (); systemSIMData.totalSystemAmber = 0f; if (improvementsBasic.listOfImprovements[28].hasBeenBuilt == true) { float tempMod = 0.1f; if (improvementsBasic.IsBuiltOnPlanetType(system, 28, "Molten") == true) { tempMod = 0.15f; } for (int i = 0; i < MasterScript.systemListConstructor.systemList[system].systemSize; ++i) { string tempString = MasterScript.systemListConstructor.systemList[system].planetsInSystem[i].planetType; if (tempString == "Molten" || tempString == "Chasm" || tempString == "Waste") { systemSIMData.totalSystemAmber += (tempMod * 2f) * improvementsBasic.amberProductionBonus; } else { systemSIMData.totalSystemAmber += tempMod * improvementsBasic.amberProductionBonus; } } } systemSIMData.totalSystemAmber += improvementsBasic.amberPointBonus; MasterScript.racialTraitScript.amber += systemSIMData.totalSystemAmber; }
public void TurnEnd(TurnInfo selectedPlayer) //This function accumulates all the SIM generated by each system to give an empire SIM value { selectedPlayer.researchCostModifier = 0; MasterScript.diplomacyScript.DiplomaticStateEffects(); CalculateExpansionModifier(selectedPlayer); for (int i = 0; i < MasterScript.systemListConstructor.mapSize; ++i) { if (MasterScript.systemListConstructor.systemList[i].systemOwnedBy != selectedPlayer.playerRace) { continue; } SystemSIMData systemSIMData = MasterScript.systemListConstructor.systemList[i].systemObject.GetComponent <SystemSIMData>(); ImprovementsBasic improvementsBasic = MasterScript.systemListConstructor.systemList[i].systemObject.GetComponent <ImprovementsBasic>(); SystemDefence systemDefence = MasterScript.systemListConstructor.systemList[i].systemObject.GetComponent <SystemDefence>(); systemDefence.CalculateSystemDefence(); improvementsBasic.ActiveTechnologies(i, selectedPlayer); systemSIMData.SystemSIMCounter(selectedPlayer); MasterScript.systemFunctions.CheckUnlockedTier(improvementsBasic, i); selectedPlayer.knowledge += systemSIMData.totalSystemKnowledge; selectedPlayer.power += systemSIMData.totalSystemPower; if (selectedPlayer.playerRace == "Selkies") { MasterScript.racialTraitScript.amber += systemSIMData.totalSystemAmber; } selectedPlayer.researchCostModifier += improvementsBasic.researchCost; } for (int j = 0; j < selectedPlayer.playerOwnedHeroes.Count; ++j) { HeroScriptParent heroScript = selectedPlayer.playerOwnedHeroes[j].GetComponent <HeroScriptParent>(); heroScript.HeroEndTurnFunctions(selectedPlayer); } MasterScript.racialTraitScript.RacialBonus(selectedPlayer); MasterScript.turnInfoScript.SortSystemPower(); if (selectedPlayer.wealth > 10000.0f) { selectedPlayer.wealth = 10000.0f; } selectedPlayer.planetsColonisedThisTurn = 0; selectedPlayer.systemsColonisedThisTurn = 0; }
public void CheckUnlockedTier(ImprovementsBasic improvements, int system) { systemSIMData = MasterScript.systemListConstructor.systemList [system].systemObject.GetComponent <SystemSIMData> (); systemSIMData.totalSystemSIM += systemSIMData.totalSystemKnowledge + systemSIMData.totalSystemPower; if (systemSIMData.totalSystemSIM >= 1600.0f && systemSIMData.totalSystemSIM < 3200 && improvements.techTier != 1) { improvements.techTier = 1; } if (systemSIMData.totalSystemSIM >= 3200.0f && systemSIMData.totalSystemSIM < 6400 && improvements.techTier != 2) { improvements.techTier = 2; } if (systemSIMData.totalSystemSIM >= 6400.0f && improvements.techTier != 3) { improvements.techTier = 3; } }
public static void WipePlanetInfo(int system, int planet) //Used to reset planets to default { systemListConstructor.systemList [system].planetsInSystem [planet].planetColonised = false; systemListConstructor.systemList [system].planetsInSystem [planet].expansionPenaltyTimer = 0f; systemListConstructor.systemList [system].planetsInSystem [planet].planetImprovementLevel = 0; for (int i = 0; i < systemListConstructor.systemList [system].planetsInSystem [planet].currentImprovementSlots; ++i) { improvementsBasic = systemListConstructor.systemList[system].systemObject.GetComponent <ImprovementsBasic>(); for (int j = 0; j < improvementsBasic.listOfImprovements.Count; ++j) { if (improvementsBasic.listOfImprovements[j].improvementName == systemListConstructor.systemList [system].planetsInSystem [planet].improvementsBuilt [i]) { improvementsBasic.listOfImprovements[j].hasBeenBuilt = false; systemListConstructor.systemList [system].planetsInSystem [planet].improvementsBuilt [i] = null; } } } }
void Start() { systemDefence = gameObject.GetComponent <SystemDefence> (); improvementsBasic = gameObject.GetComponent <ImprovementsBasic>(); thisSystem = MasterScript.RefreshCurrentSystem(gameObject); for (int i = 0; i < MasterScript.systemListConstructor.systemList[thisSystem].systemSize; ++i) { PlanetUIInfo planetInfo = new PlanetUIInfo(); planetInfo.generalInfo = null; planetInfo.knowledgeOutput = null; planetInfo.powerOutput = null; planetInfo.population = null; allPlanetsInfo.Add(planetInfo); } embargoedBy = null; promotedBy = null; }
public void BuildImprovement() { NGUITools.SetActive(improvementDetails, false); improvementsBasic = MasterScript.systemListConstructor.systemList[selectedSystem].systemObject.GetComponent <ImprovementsBasic>(); for (int i = 0; i < improvementsBasic.listOfImprovements.Count; ++i) { if (improvementsBasic.listOfImprovements[i].improvementName.ToUpper() == currentImprovement) { for (int j = 0; j < MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].currentImprovementSlots; ++j) { if (MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].improvementsBuilt[j] == null) { if (improvementsBasic.ImproveSystem(i) == true) { improvementsBasic.ActiveTechnologies(selectedSystem, MasterScript.playerTurnScript); MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].improvementsBuilt[j] = improvementsBasic.listOfImprovements[i].improvementName; UpdateImprovementsWindow(improvementsBasic.listOfImprovements[i].improvementLevel); UpdateBuiltImprovements(); currentImprovement = null; selectedSlot = -1; break; } } } } } for (int i = 0; i < unbuiltImprovementList.Length; ++i) { unbuiltImprovementList[i].GetComponent <UISprite>().spriteName = "Button Normal"; unbuiltImprovementList[i].GetComponent <UIButton>().enabled = true; } NGUITools.SetActive(improvementsWindow, false); }
private int CheckNumberOfPlanetsWithImprovement(int improvementNo, TurnInfo thisPlayer, ImprovementsBasic improvements) { int currentPlanets = 0; for (int i = 0; i < MasterScript.systemListConstructor.mapSize; ++i) { if (MasterScript.systemListConstructor.systemList[i].systemOwnedBy == null || MasterScript.systemListConstructor.systemList[i].systemOwnedBy == thisPlayer.playerRace) { continue; } if (improvements.listOfImprovements[improvementNo].hasBeenBuilt == true) { ++currentPlanets; } } return(currentPlanets); }
public void TechSwitch(int tech, int planet, ImprovementsBasic tempImprov, TurnInfo player, bool check) { improvements = tempImprov; systemSIMData = MasterScript.systemListConstructor.systemList [tempImprov.system].systemObject.GetComponent <SystemSIMData> (); checkValue = check; thisPlayer = player; improvements.planetToBuildOn.Clear(); improvements.tempCount = 0f; switch (tech) { case 0: //Amplification T1I1(); break; case 1: //Fertile Link T1I2(); break; case 2: //Fortune T1I3(); break; case 3: //Injection T2I1(); break; case 4: //Custodians T2I2(); break; case 5: //Isolation T2I3(planet); break; case 6: //Inertia T3I1(planet); break; case 7: //Nostalgia T3I2(planet); break; case 8: //Redundancy T3I3(); break; case 9: //Convergence T4I1(); break; case 10: //Foundation T4I2(); break; case 11: //Perception T4I3(); break; default: break; } if (thisPlayer.playerRace == "Humans") { humanImprovements.TechSwitch(tech, planet, tempImprov, thisPlayer, checkValue); } if (thisPlayer.playerRace == "Nereides") { nereidesImprovements.TechSwitch(tech, planet, tempImprov, thisPlayer, checkValue); } if (thisPlayer.playerRace == "Selkies") { selkiesImprovements.TechSwitch(tech, planet, tempImprov, thisPlayer, checkValue); } }
public void UpdateSystemEffects(int system, int planet) //TODO this needs to be planet specific { improvementsBasic = MasterScript.systemListConstructor.systemList[selectedSystem].systemObject.GetComponent <ImprovementsBasic>(); string temp = ""; float knoTemp = (MasterScript.systemListConstructor.systemList[system].sysKnowledgeModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].knowledgeModifier) - 1; float powTemp = (MasterScript.systemListConstructor.systemList[system].sysPowerModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].powerModifier) - 1; float growTemp = MasterScript.systemListConstructor.systemList[system].sysGrowthModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].growthModifier; float popTemp = MasterScript.systemListConstructor.systemList[system].sysMaxPopulationModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].maxPopulationModifier; float amberPenalty = MasterScript.systemListConstructor.systemList[system].sysAmberPenalty + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].amberPenalty; float amberProd = (MasterScript.systemListConstructor.systemList[system].sysAmberModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].amberModifier) - 1; if (knoTemp != 0f) { if (temp != "") { temp = temp + "\n+"; } temp = temp + Math.Round(knoTemp * 100, 1) + "% Knowledge from Improvements"; } if (powTemp != 0f) { if (temp != "") { temp = temp + "\n+"; } temp = temp + Math.Round(powTemp * 100, 1) + "% Power from Improvements"; } if (growTemp != 0f) { if (temp != "") { temp = temp + "\n+"; } temp = temp + Math.Round(growTemp, 2) + "% Growth from Improvements"; } if (popTemp != 0f) { if (temp != "") { temp = temp + "\n+"; } temp = temp + Math.Round(popTemp, 1) + "% Population from Improvements"; } int standardSize = MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].baseImprovementSlots; if (MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].currentImprovementSlots > standardSize) { if (temp != "") { temp = temp + "\n+"; } temp = temp + (MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].currentImprovementSlots - standardSize).ToString() + " Improvement Slots on Planet"; } if (amberPenalty != 1f) { if (temp != "") { temp = temp + "\n+"; } temp = temp + Math.Round((1 - amberPenalty) * 100, 1) + "% Amber Penalty on System"; } if (amberProd != 0) { if (temp != "") { temp = temp + "\n+"; } temp = temp + Math.Round(amberProd * 100, 1) + "% Amber Production on System"; } if (improvementsBasic.improvementCostModifier != 0f) { if (temp != "") { temp = temp + "\n"; } temp = temp + improvementsBasic.improvementCostModifier + " less Power required for Improvements"; } if (improvementsBasic.researchCost != 0f) { if (temp != "") { temp = temp + "\n"; } temp = temp + improvementsBasic.researchCost + " less Knowledge required for Research"; } /* * amberPointBonus; * public float tempWealth, tempKnwlUnitBonus, tempPowUnitBonus, tempResearchCostReduction, tempImprovementCostReduction, * tempBonusAmbition; * * for(int i = 0; i < improvementsBasic.listOfImprovements.Count; ++i) * { * if(improvementsBasic.listOfImprovements[i].hasBeenBuilt == true) * { * if(temp == "") * { * temp = improvementsBasic.listOfImprovements[i].improvementMessage.ToUpper(); * } * * else * { * temp = temp + "\n" + improvementsBasic.listOfImprovements[i].improvementMessage.ToUpper(); * } * } * } */ if (temp == "") { temp = "NO EFFECTS ON SYSTEM"; } systemEffects.text = temp; systemEffects.transform.parent.GetComponent <UISprite> ().height = systemEffects.height + 20; }
public void TechSwitch(int tech, int planet, ImprovementsBasic tempImprov, TurnInfo thisPlayer, bool check) { systemSIMData = MasterScript.systemListConstructor.systemList [tempImprov.system].systemObject.GetComponent <SystemSIMData> (); improvements = tempImprov; checkValue = check; player = thisPlayer; switch (tech) { case 12: //Earth's Bounty TH1I1(planet); break; case 13: //Expertise TH1I2(); break; case 14: //Summer's Song TH1I3(planet); break; case 15: //Nurture TH1I4(); break; case 16: //Horizon TH1I5(); break; case 17: //Skyward TH2I1(planet); break; case 18: //Deep Source TH2I2(planet); break; case 19: //Winter's Dirge TH2I3(planet); break; case 20: //Overflow TH2I4(); break; case 21: //Rainfall TH2I5(); break; case 22: //Creation TH3I1(); break; case 23: //Autumn's Air TH3I2(planet); break; case 24: //Orbital TH3I3(planet); break; case 25: //Waters of Life TH3I4(); break; case 26: //Enclave TH3I5(); break; case 27: //Insight TH4I1(); break; case 28: //Spring's Serenade TH4I2(planet); break; case 29: //Ascension TH4I3(); break; case 30: //Opulence TH4I4(); break; case 31: //Expulsion TH4I5(); break; default: break; } }
public void TechSwitch(int tech, int planet, ImprovementsBasic tempImprov, TurnInfo thisPlayer, bool check) { systemSIMData = MasterScript.systemListConstructor.systemList[improvements.system].systemObject.GetComponent <SystemSIMData>(); improvements = tempImprov; checkValue = check; player = thisPlayer; switch (tech) //The order of these is important { case 60: TS1I1(); break; case 61: TS1I2(); break; case 62: TS1I3(); break; case 63: TS1I4(); break; case 64: TS1I5(); break; case 65: TS2I1(); break; case 66: TS2I2(); break; case 67: TS2I3(); break; case 68: TS2I4(); break; case 69: TS2I5(); break; case 70: TS3I1(); break; case 71: TS3I2(planet); break; case 72: TS3I3(); break; case 73: TS3I4(); break; case 74: TS3I5(); break; case 75: TS4I1(); break; case 76: TS4I2(); break; case 77: TS4I3(); break; case 78: TS4I4(planet); break; case 79: TS4I5(); break; default: break; } }
public void TechSwitch(int tech, int planet, ImprovementsBasic tempImprov, TurnInfo thisPlayer, bool check) { improvements = tempImprov; systemSIMData = MasterScript.systemListConstructor.systemList [improvements.system].systemObject.GetComponent <SystemSIMData> (); checkValue = check; player = thisPlayer; switch (tech) { case 40: //Recycle TN1I1(); break; case 41: //Volatility TN1I2(); break; case 42: //Rebirth TN1I3(); break; case 43: //Cognisance TN1I4(); break; case 44: //Integration TN1I5(planet); break; case 45: //Value of Vision TN2I1(planet); break; case 46: //Cooperation TN2I2(); break; case 47: //Mastery TN2I3(); break; case 48: //Subterra TN2I4(planet); break; case 49: //Subversion TN2I5(); break; case 50: //Fractal Growth TN3I1(); break; case 51: //Savants TN3I2(planet); break; case 52: //Theory Complete TN3I3(planet); break; case 53: //Enrichement TN3I4(planet); break; case 54: //Hidden Legion TN3I5(); break; case 55: //Enraptue TN4I1(); break; case 56: //Proliferate TN4I2(); break; case 57: //Bathus TN4I3(planet); break; case 58: //Obfuscate TN4I4(); break; case 59: //Pacifism TN4I5(); break; default: break; } }