예제 #1
0
        public static void PrintUsageHint()
        {
            var keyName = MissionSharedLibrary.Utilities.Utility.TextForKey(RTSCameraGameKeyCategory.GetKey(GameKeyEnum.FreeCamera));
            var hint    = Module.CurrentModule.GlobalTextManager.FindText("str_rts_camera_switch_camera_hint").SetTextVariable("KeyName", keyName).ToString();

            MissionSharedLibrary.Utilities.Utility.DisplayMessageForced(hint);
        }
예제 #2
0
        public override void OnMissionScreenTick(float dt)
        {
            base.OnMissionScreenTick(dt);

            if (TaleWorlds.InputSystem.Input.IsKeyPressed(RTSCameraGameKeyCategory.GetKey(GameKeyEnum.ToggleHUD)) || MBDebug.DisableAllUI && TaleWorlds.InputSystem.Input.IsKeyPressed(InputKey.Home))
            {
                ToggleUI();
            }

            if (!_isTemporarilyOpenUI)
            {
                if (ScreenManager.FocusedLayer != MissionScreen.SceneLayer)
                {
                    _isTemporarilyOpenUI = true;
                    BeginTemporarilyOpenUI();
                }
            }
            else
            {
                if (ScreenManager.FocusedLayer == MissionScreen.SceneLayer)
                {
                    _isTemporarilyOpenUI = false;
                    EndTemporarilyOpenUI();
                }
            }
        }
예제 #3
0
        private TextObject GetHint(bool focusedOnAgent)
        {
            var result = GameTexts.FindText(focusedOnAgent
                ? "str_rts_camera_control_current_agent_hint"
                : "str_rts_camera_control_troop_hint");

            result.SetTextVariable("KeyName",
                                   Utility.TextForKey(RTSCameraGameKeyCategory.GetKey(GameKeyEnum.ControlTroop)));
            return(result);
        }
예제 #4
0
        public void OnMissionTick(float dt)
        {
            if (!NativeConfig.CheatMode)
            {
                return;
            }

            if (_config.SwitchTeamHotkeyEnabled && Mission.InputManager.IsKeyPressed(RTSCameraGameKeyCategory.GetKey(GameKeyEnum.SwitchTeam)))
            {
                SwapTeam();
            }
        }
예제 #5
0
        public void OnMissionTick(float dt)
        {
            if (Input.IsKeyPressed(RTSCameraGameKeyCategory.GetKey(GameKeyEnum.Pause)))
            {
                TogglePause();
            }

            if (Input.IsKeyPressed(RTSCameraGameKeyCategory.GetKey(GameKeyEnum.SlowMotion)))
            {
                SetSlowMotionMode(!Mission.Scene.SlowMotionMode);
            }
        }
예제 #6
0
        public static void PrintUsageHint()
        {
            var keyName = TextForKey(GeneralGameKeyCategories.GetKey(GeneralGameKey.OpenMenu));

            GameTexts.SetVariable("KeyName", keyName);
            var hint = Module.CurrentModule.GlobalTextManager.FindText("str_rts_camera_open_menu_hint").ToString();

            DisplayMessageOutOfMission(hint);
            keyName = TextForKey(RTSCameraGameKeyCategory.GetKey(GameKeyEnum.FreeCamera));
            GameTexts.SetVariable("KeyName", keyName);
            hint = Module.CurrentModule.GlobalTextManager.FindText("str_rts_camera_switch_camera_hint").ToString();
            DisplayMessageOutOfMission(hint);
        }
예제 #7
0
        private bool SecondInitialize()
        {
            if (!Initializer.SecondInitialize())
            {
                return(false);
            }

            RTSCameraGameKeyCategory.RegisterGameKeyCategory();
            Global.GetProvider <AMissionStartingManager>().AddHandler(new MissionStartingHandler());
            var menuClassCollection = AMenuManager.Get().MenuClassCollection;

            AMenuManager.Get().OnMenuClosedEvent += RTSCameraConfig.OnMenuClosed;
            menuClassCollection.AddOptionClass(RTSCameraOptionClassFactory.CreateOptionClassProvider(menuClassCollection));
            return(true);
        }
예제 #8
0
        public void OnMissionTick(float dt)
        {
            if (MissionScreen.SceneLayer.Input.IsKeyPressed(RTSCameraGameKeyCategory.GetKey(Config.HotKey.GameKeyEnum.ControlTroop)))
            {
                if (_selectCharacterView.LockOnAgent())
                {
                    return;
                }

                if (Mission.MainAgent?.Controller == Agent.ControllerType.Player)
                {
                    return;
                }

                ForceControlAgent();
            }
        }
예제 #9
0
 private void Initialize()
 {
     RTSCameraGameKeyCategory.Initialize();
     RTSCameraExtension.Clear();
     Global.GetProvider <AMissionStartingManager>().AddHandler(new MissionStartingHandler());
 }