예제 #1
0
    public int startNewTurn()
    {
        turn_i++;

        //If everyone moved this turn, then a year/round has passed.
        if (turn_i >= turnOrder.Count)
        {
            if (state.YearsUntilNextEvent <= 1 && !GlobalEventHappened && !savedByHero)
            {
                BoltConsole.Write("Global EVENT happening!!");
                GlobalEventHappened = true;
                globalEvents.executeGlobalEvent();
                //needToNotifyPlayersNewEvent = true;
            }
            else if (state.YearsUntilNextEvent <= 1 && !GlobalEventHappened && savedByHero)
            {
                NetworkManager.s_Singleton.ResolveCrisis(currentCrisis, hero);
                GlobalEventHappened = true;
            }
            BoltConsole.Write("NEW ROUND!!!!!");
            turn_i = 0;
            if (!globalEvents.AllCrisisHappened())
            {
                yearsUntilNextEvent--;
                state.YearsUntilNextEvent--;
            }
            else
            {
                //Temporary hack.
                yearsUntilNextEvent       = 100;
                state.YearsUntilNextEvent = 100;
            }


            if (PeacefulYear)
            {
                BoltConsole.Write("Peaceful year ended");
                PeacefulYear        = false;
                GlobalEventHappened = false;
                bool crisisPrepared = globalEvents.PrepareNextEvent();
                if (crisisPrepared)
                {
                    ResetSavedByHero();
                    DisplayNextEvent();
                }
            }

            if (GlobalEventHappened) //|| savedByHero
            {
                PeacefulYear = true; //After the global event happends let players play a round with no crisis to prep for.
                //needToNotifyPlayersNewEvent = false;
                BoltConsole.Write("Starting Peaceful year");
            }
        }
        state.CurrentSpellcasterTurn = turnOrder[turn_i];
        return(turnOrder[turn_i]);
    }