Exemplo n.º 1
0
        protected virtual void OnStateChanged(PvPBattleState oldState)
        {
            _StateTransition = true;

            LastState = oldState;

            if (IsInternal)
            {
                Options.Timing.SetAllTimes(DateTime.MinValue);

                OnBattleInternalized();
            }
            else
            {
                if (LastState == PvPBattleState.Internal)
                {
                    InvalidateRegions();
                }

                Options.Timing.SetTime(State, DateTime.UtcNow);

                switch (State)
                {
                case PvPBattleState.Queueing:
                    OnBattleOpened();
                    break;

                case PvPBattleState.Preparing:
                    OnBattlePreparing();
                    break;

                case PvPBattleState.Running:
                    OnBattleStarted();
                    break;

                case PvPBattleState.Ended:
                    OnBattleEnded();
                    break;
                }
            }

            LastStateChange = DateTime.UtcNow;

            _StateTransition = false;

            AutoPvP.InvokeBattleStateChanged(this);

            PvPBattlesUI.RefreshAll(this);
        }
Exemplo n.º 2
0
        protected virtual void OnStateChanged(PvPBattleState oldState)
        {
            _StateTransition = true;

            var now = DateTime.UtcNow;

            LastState = oldState;

            if (LastState == PvPBattleState.Internal)
            {
                InvalidateRegions();
            }

            switch (State)
            {
            case PvPBattleState.Internal:
                OnBattleInternalized(now);
                break;

            case PvPBattleState.Queueing:
                OnBattleOpened(now);
                break;

            case PvPBattleState.Preparing:
                OnBattlePreparing(now);
                break;

            case PvPBattleState.Running:
                OnBattleStarted(now);
                break;

            case PvPBattleState.Ended:
                OnBattleEnded(now);
                break;
            }

            LastStateChange = now;

            AutoPvP.InvokeBattleStateChanged(this);

            _StateTransition = false;
        }