public override void Begin(params object[] parameters)
    {
        if (TutorialManager.IsActivated)
        {
            ITutorialService service = TutorialManager.GetService();
            if (service != null && !service.GetValue <bool>(TutorialManager.EnableVictoryKey, true))
            {
                base.GameServer.PostStateChange(typeof(GameServerState_Turn_AI), new object[0]);
                return;
            }
        }
        base.Begin(parameters);
        if (Amplitude.Unity.Framework.Application.Version.Accessibility <= Accessibility.Internal)
        {
            Diagnostics.Log("GameServerState_Turn_CheckForGameEndingConditions.");
        }
        IVictoryManagementService service2 = base.GameServer.Game.Services.GetService <IVictoryManagementService>();

        if (service2 != null)
        {
            this.TurnToCheckTheGameEndingConditionsFor = base.GameServer.Game.Turn - 1;
            bool           flag           = false;
            VictoryManager victoryManager = service2 as VictoryManager;
            if (victoryManager != null)
            {
                victoryManager.OnBeginTurn();
            }
            this.CheckForVictoryConditions(service2, out flag);
            if (flag)
            {
                base.GameServer.PostStateChange(typeof(GameServerState_Turn_DealWithGameEndingConditions), new object[0]);
                return;
            }
        }
        base.GameServer.PostStateChange(typeof(GameServerState_Turn_AI), new object[0]);
    }