CameraBuddy.Spectate.Core.ChampionPlugin.OnGameUpdateBase C# (CSharp) Method

OnGameUpdateBase() public method

public OnGameUpdateBase ( EventArgs args ) : void
args System.EventArgs
return void
        public void OnGameUpdateBase(EventArgs args)
        {
            #region PosistionEvents

            //OnAriveAtShop
            if (Player.IsAtShop() && !_onAriveAtShopCalled)
            {
                OnAriveAtShop();
                _onAriveAtShopCalled = true;
            }
            else if(_onAriveAtShopCalled && !Player.IsAtShop()) _onAriveAtShopCalled = false;

            //OnArriveAtRegion
            //Fps Drops if enabled.
            if (CheckRegionIn)
            {
                var regionIn = Player.RegionIn;
                if (CurrentRegion != regionIn && !_onArriveAtRegionCalled)
                {
                    OnArriveAtRegion(CurrentRegion, regionIn);
                    CurrentRegion = regionIn;
                    _onArriveAtRegionCalled = true;
                }
                else _onArriveAtRegionCalled = false;
            }

            #endregion

            #region Game Events
            //When spawn gate falls
            if(!Timing.IsGateUp && !_onGateDownCalled)
            {
                OnGateDown();
                _onGateDownCalled = true;
            }
            #endregion
            switch (Situation.Game.GameState)
            {
                case GameState.GameStart:
                    OnGameStart();
                    break;
                case GameState.MinionsSpawning:
                    OnMinionsSpawning();
                    break;
                case GameState.JungleSpawning:
                    OnJungleSpawning();
                    break;
                case GameState.FirstMinionContact:
                    OnMinionContact();
                    break;
                case GameState.Laning:
                    OnLaning();
                    break;
                case GameState.AllyGrouping:
                    OnAllyGrouping();
                    break;
                case GameState.EnemyGrouping:
                    OnEnemyGrouping();
                    break;
                case GameState.AllyFinishing:
                    OnAllyFinishing();
                    break;
                case GameState.EnemyFinishing:
                    OnEnemyFinishing();
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }

            OnGameUpdate(args);
        }