Esempio n. 1
0
    public void UpgradeSector(UpgradableSector sector)
    {
        if (isEvolutionTime)
        {
            return;
        }

        int cost = (sector.currentLevel + 1) * sector.levelUpgradeCost;

        if (sector.currentLevel < sector.maxLevel &&
            money.currentMoney >= cost)
        {
            sector.UpgradeSector();

            if (sector.Equals(education))
            {
                educationCostText.text  = string.Format("{0} €", (education.currentLevel + 1) * education.levelUpgradeCost);
                educationLevelText.text = education.currentLevel.ToString();
            }
            if (sector.Equals(internalEconomy))
            {
                internalEconomyCostText.text = string.Format("{0} €", (internalEconomy.currentLevel + 1) * internalEconomy.levelUpgradeCost);
                intEcoLevelText.text         = internalEconomy.currentLevel.ToString();
            }
            if (sector.Equals(externalEconomy))
            {
                externalEconomyCostText.text = string.Format("{0} €", (externalEconomy.currentLevel + 1) * externalEconomy.levelUpgradeCost);
                extEcoLevelText.text         = externalEconomy.currentLevel.ToString();
            }

            if (sector.currentLevel == sector.firstMilestoneLevel || sector.currentLevel == sector.secondMilestoneLevel ||
                sector.currentLevel == sector.thirdMilestoneLevel || sector.currentLevel == sector.ultimateMilestoneLevel)
            {
                sector.Repair();

                if (sector.Equals(education))
                {
                    edDetTurns = 0;
                }
                if (sector.Equals(internalEconomy))
                {
                    intEcoDetTurns = 0;
                }
                if (sector.Equals(externalEconomy))
                {
                    extEcoDetTurns = 0;
                }
            }

            money.currentMoney -= cost;
            moneyText.text      = string.Format("{0} €", money.currentMoney);
            StartEvolutionPhase();
        }
    }
Esempio n. 2
0
    public void RepairSector(UpgradableSector sector)
    {
        if (isEvolutionTime || sector.currentLevel <= 0)
        {
            return;
        }

        int cost = 0;

        switch (sector.currentDeteriorationLevel)
        {
        case UpgradableSector.DeteriorationLevel.NORMAL:
            cost = sector.repairingCostPerLevel;
            break;

        case UpgradableSector.DeteriorationLevel.RUINED:
            cost = sector.repairingCostPerLevel * 2;
            break;

        default:
            return;
        }

        if (money.currentMoney >= cost)
        {
            money.currentMoney -= cost;
            moneyText.text      = string.Format("{0} €", money.currentMoney);
            sector.Repair();

            if (sector.Equals(education))
            {
                edDetTurns = 0;
            }
            if (sector.Equals(internalEconomy))
            {
                intEcoDetTurns = 0;
            }
            if (sector.Equals(externalEconomy))
            {
                extEcoDetTurns = 0;
            }

            StartEvolutionPhase();
        }
    }
Esempio n. 3
0
    /// <summary>
    /// Calculates the upgrades to apply to the population based on the milestones reached
    /// </summary>
    /// <param name="sector"></param>
    private void CalculateSectorUpgrades(UpgradableSector sector)
    {
        // FIRST MILESTONE
        if (sector.currentLevel >= sector.firstMilestoneLevel)
        {
            switch (sector.currentDeteriorationLevel)
            {
            case UpgradableSector.DeteriorationLevel.PERFECT:
                ApplyUpgrades(sector.firstMilestoneUpgrades, sector.perfect);
                break;

            case UpgradableSector.DeteriorationLevel.NORMAL:
                ApplyUpgrades(sector.firstMilestoneUpgrades, sector.normal);
                break;

            default:
                ApplyUpgrades(sector.firstMilestoneUpgrades, sector.ruined);
                break;
            }

            // SECOND MILESTONE
            if (sector.currentLevel >= sector.secondMilestoneLevel)
            {
                switch (sector.currentDeteriorationLevel)
                {
                case UpgradableSector.DeteriorationLevel.PERFECT:
                    ApplyUpgrades(sector.secondMilestoneUpgrades, sector.perfect);
                    break;

                case UpgradableSector.DeteriorationLevel.NORMAL:
                    ApplyUpgrades(sector.secondMilestoneUpgrades, sector.normal);
                    break;

                default:
                    ApplyUpgrades(sector.secondMilestoneUpgrades, sector.ruined);
                    break;
                }

                // THIRD MILESTONE
                if (sector.currentLevel >= sector.thirdMilestoneLevel)
                {
                    switch (sector.currentDeteriorationLevel)
                    {
                    case UpgradableSector.DeteriorationLevel.PERFECT:
                        ApplyUpgrades(sector.thirdMilestoneUpgrades, sector.perfect);
                        break;

                    case UpgradableSector.DeteriorationLevel.NORMAL:
                        ApplyUpgrades(sector.thirdMilestoneUpgrades, sector.normal);
                        break;

                    default:
                        ApplyUpgrades(sector.thirdMilestoneUpgrades, sector.ruined);
                        break;
                    }

                    // ULTIMATE MILESTONE
                    if (sector.currentLevel >= sector.ultimateMilestoneLevel)
                    {
                        switch (sector.currentDeteriorationLevel)
                        {
                        case UpgradableSector.DeteriorationLevel.PERFECT:
                            ApplyUpgrades(sector.ultimateMilestoneUpgrades, sector.perfect);
                            break;

                        case UpgradableSector.DeteriorationLevel.NORMAL:
                            ApplyUpgrades(sector.ultimateMilestoneUpgrades, sector.normal);
                            break;

                        default:
                            ApplyUpgrades(sector.ultimateMilestoneUpgrades, sector.ruined);
                            break;
                        }
                    }
                }
            }
        }
    }