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