public buildCreatorPreEcon(unitInputData newUnitInputData, upgradeInputData newUpgradeInputData) { //initialize units with game values and #needed (only add units needed) unitList = unitInitializer(newUnitInputData); //initialize builings with game values (add all buildings) buildingList = buildingInitializer(); //initialize upgrades with game values (only add if upgrade is needed) upgradePackage = upgradeInitializer(newUpgradeInputData); //create building and unit objects with format to be used in pairs (also include upgrades) pairObjectsLibrary = initializeUnitBuildingPairObjects(); //create parent/child list of buildings that need to be built buildingPairs = findTechTree(); }
private static UpgradePackager upgradeInitializer(upgradeInputData newUpgradeInputData) { List <Upgrade> upgradeList = new List <Upgrade>(); //upgrades from forge Upgrade groundWeapons1 = new Upgrade("groundWeapons1", "forge", 114, 100, 100, newUpgradeInputData.groundWeapons1); Upgrade groundArmor1 = new Upgrade("groundArmor1", "forge", 114, 100, 100, newUpgradeInputData.groundArmor1); Upgrade shields1 = new Upgrade("shields1", "forge", 114, 150, 150, newUpgradeInputData.shields1); Upgrade groundWeapons2 = new Upgrade("groundWeapons2", "forge", 136, 150, 150, "groundWeapons1", "twilightCouncil", newUpgradeInputData.groundWeapons2); Upgrade groundArmor2 = new Upgrade("groundArmor2", "forge", 136, 150, 150, "groundArmor1", "twilightCouncil", newUpgradeInputData.groundArmor2); Upgrade shields2 = new Upgrade("shields2", "forge", 136, 225, 225, "shields1", "twilightCouncil", newUpgradeInputData.shields2); Upgrade groundWeapons3 = new Upgrade("groundWeapons3", "forge", 157, 200, 200, "groundWeapons2", newUpgradeInputData.groundWeapons3); Upgrade groundArmor3 = new Upgrade("groundArmor3", "forge", 157, 200, 200, "groundArmor2", newUpgradeInputData.groundArmor3); Upgrade shields3 = new Upgrade("shields3", "forge", 157, 300, 300, "shields2", newUpgradeInputData.shields3); List <Upgrade> forgeUpgrades = new List <Upgrade>() { groundWeapons1, groundArmor1, shields1, groundWeapons2, groundArmor2, shields2, groundArmor3, groundWeapons3, shields3 }; //upgrades from cyberCore Upgrade warpGateResearch = new Upgrade("warpGateResearch", "cyberCore", 114, 50, 50, newUpgradeInputData.warpGateResearch); Upgrade airWeapons1 = new Upgrade("airWeapons1", "cyberCore", 114, 100, 100, newUpgradeInputData.airWeapons1); Upgrade airArmor1 = new Upgrade("airArmor1", "cyberCore", 114, 150, 150, newUpgradeInputData.airArmor1); Upgrade airWeapons2 = new Upgrade("airWeapons2", "cyberCore", 136, 175, 175, "airWeapons1", "fleetBeacon", newUpgradeInputData.airWeapons2); Upgrade airArmor2 = new Upgrade("airArmor2", "cyberCore", 136, 225, 225, "airArmor1", "fleetBeacon", newUpgradeInputData.airArmor2); Upgrade airWeapons3 = new Upgrade("airWeapons3", "cyberCore", 157, 250, 250, "airWeapons2", newUpgradeInputData.airWeapons3); Upgrade airArmor3 = new Upgrade("airArmor3", "cyberCore", 157, 300, 300, "airArmor2", newUpgradeInputData.airArmor3); List <Upgrade> cyberCoreUpgrades = new List <Upgrade>() { warpGateResearch, airWeapons1, airArmor1, airWeapons2, airArmor2, airWeapons3, airArmor3 }; //upgrades from twilightCouncil Upgrade charge = new Upgrade("charge", "twilightCouncil", 100, 100, 100, newUpgradeInputData.charge); Upgrade blink = new Upgrade("blink", "twilightCouncil", 121, 150, 150, newUpgradeInputData.blink); Upgrade resonatingGlaives = new Upgrade("resonatingGlaives", "twilightCouncil", 100, 100, 100, newUpgradeInputData.resonatingGlaives); List <Upgrade> twilightCouncilUpgrades = new List <Upgrade>() { charge, blink, resonatingGlaives }; //upgrades from supportBay Upgrade graviticBoosters = new Upgrade("graviticBoosters", "supportBay", 57, 100, 100, newUpgradeInputData.graviticBoosters); Upgrade graviticDrive = new Upgrade("graviticDrive", "supportBay", 57, 100, 100, newUpgradeInputData.graviticDrive); Upgrade extendedThermalLance = new Upgrade("extendedThermalLance", "supportBay", 100, 150, 150, newUpgradeInputData.extendedThermalLance); List <Upgrade> supportBayUpgrades = new List <Upgrade>() { graviticBoosters, graviticDrive, extendedThermalLance }; //upgrades from fleetBeacon Upgrade anionPulseCrystals = new Upgrade("anionPulseCrystals", "fleetBeacon", 64, 150, 150, newUpgradeInputData.anionPulseCrystals); Upgrade gravitonCatapult = new Upgrade("gravitonCatapult", "fleetBeacon", 57, 150, 150, newUpgradeInputData.gravitonCatapult); List <Upgrade> fleetBeaconUpgrades = new List <Upgrade>() { anionPulseCrystals, gravitonCatapult }; //upgrades from templarArchives Upgrade psionicStorm = new Upgrade("psionicStorm", "templarArchives", 79, 200, 200, newUpgradeInputData.psionicStorm); List <Upgrade> templarArchivesUpgrades = new List <Upgrade>() { psionicStorm }; //upgrades from darkShrine Upgrade shadowStride = new Upgrade("shadowStride", "darkShrine", 121, 100, 100, newUpgradeInputData.shadowStride); List <Upgrade> darkShrineUpgrades = new List <Upgrade>() { shadowStride }; UpgradePackager newUpgradePackager = new UpgradePackager(forgeUpgrades, cyberCoreUpgrades, twilightCouncilUpgrades, supportBayUpgrades, fleetBeaconUpgrades, templarArchivesUpgrades, darkShrineUpgrades); return(newUpgradePackager); }