protected override void OnStateEntered()
        {
            LobbyArenaLoaded = false;

            RegisteredPlayersUtil.UnregisterAIPlayers();
            RegisteredPlayers.BeginPlayerRegistration();
            PlayerCustomizationView.Show(Continue);
            InGameConstants.BattlePlayerPartsFade = true;

            PlayerSpawner.ShouldRespawn = true;

            delayedBackToMainMenuView_ = CornerDelayedActionView.Show("BACK TO MAIN MENU", CornerPoint.TopLeft, ActionType.Negative, GoBack);

            // in case where no players to customize - continue
            if (RegisteredPlayers.AllPlayers.Count <= 0)
            {
                Continue();
                return;
            }
            else
            {
                ArenaManager.Instance.AnimateLoadArena(GameConstants.Instance.PlayerCustomizationLobbyArena, callback: () => {
                    LobbyArenaLoaded = true;
                });
            }
        }
        protected override void OnStateExited()
        {
            BattleRecyclables.Clear();
            PlayerSpawner.CleanupAllPlayers();
            InGameConstants.BattlePlayerPartsFade = false;

            PlayerSpawner.ShouldRespawn = false;
            LobbyArenaLoaded            = false;

            PlayerCustomizationView.Hide();
            RegisteredPlayers.FinishPlayerRegistration();
            StatsManager.ClearAllStats();

            if (delayedBackToMainMenuView_ != null)
            {
                delayedBackToMainMenuView_.AnimateOutAndRecycle();
                delayedBackToMainMenuView_ = null;
            }
        }