Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
        }