public virtual void OnEnter()
        {
            Service.Get <UXController>().MiscElementsManager.RemoveGalaxyTournamentStatus();
            HudConfig  hudConfig  = null;
            BattleType battleType = this.battleData.BattleType;

            switch (battleType)
            {
            case BattleType.Pvp:
                hudConfig = new HudConfig(new string[]
                {
                    "Currency",
                    "OpponentInfo",
                    "MedalInfo",
                    "ButtonHome",
                    "LabelBaseNameOpponent",
                    "TroopsGrid",
                    "LabelDeployInstructions",
                    "LabelCurrencyValueOpponent"
                });
                if (!this.battleData.IsRevenge)
                {
                    hudConfig.Add("ButtonNextBattle");
                }
                break;

            case BattleType.PveDefend:
                hudConfig = new HudConfig(new string[]
                {
                    "Currency",
                    "PlayerInfo",
                    "LabelBaseNameOpponent",
                    "LabelCurrencyValueOpponent",
                    "TroopsGrid",
                    "LabelDeployInstructions"
                });
                break;

            case BattleType.PveAttack:
            case BattleType.PveFue:
            case BattleType.ClientBattle:
                hudConfig = new HudConfig(new string[]
                {
                    "Currency",
                    "OpponentInfo",
                    "ButtonHome",
                    "LabelBaseNameOpponent",
                    "TroopsGrid",
                    "LabelDeployInstructions",
                    "LabelCurrencyValueOpponent"
                });
                break;

            case BattleType.PveBuffBase:
            case BattleType.PvpAttackSquadWar:
            {
                hudConfig = new HudConfig(new string[]
                    {
                        "OpponentInfo",
                        "LabelBaseNameOpponent",
                        "WarAttack"
                    });
                SquadWarManager    warManager    = Service.Get <SquadController>().WarManager;
                bool               flag          = this.battleData.Attacker.PlayerFaction == this.battleData.Defender.PlayerFaction;
                SquadWarStatusType currentStatus = warManager.GetCurrentStatus();
                if (!flag)
                {
                    hudConfig.Add("BuffsYoursSquadWars");
                }
                if (battleType != BattleType.PveBuffBase)
                {
                    hudConfig.Add("BuffsOpponentsSquadWars");
                }
                if (this.battleData.Attacker.GuildId != this.battleData.Defender.GuildId && !warManager.IsCurrentlyScoutingOwnedBuffBase())
                {
                    hudConfig.Add("WarAttackOpponent");
                    if (currentStatus == SquadWarStatusType.PhaseAction)
                    {
                        hudConfig.Add("TroopsGrid");
                    }
                }
                if (currentStatus == SquadWarStatusType.PhasePrep)
                {
                    if (battleType == BattleType.PvpAttackSquadWar)
                    {
                        Service.Get <BuildingController>().EnterSelectMode();
                    }
                    else
                    {
                        Service.Get <BuildingController>().ExitAllModes();
                    }
                }
                break;
            }
            }
            if (hudConfig != null)
            {
                Service.Get <UXController>().HUD.ConfigureControls(hudConfig);
            }
        }