public static void MInput_Update(On.Monocle.MInput.orig_Update orig)
        {
            if (!Settings.Enabled)
            {
                orig();
                return;
            }

            if (!Manager.Running || Manager.Recording)
            {
                orig();
            }

            if (Engine.Scene?.Entities.FindFirst <ModuleSettingsButtonConfigUI>() == null &&
                Engine.Scene?.Entities.FindFirst <ModuleSettingsKeyboardConfigUI>() == null ||
                Manager.Running)
            {
                Manager.UpdateInputs();
            }

            // Hacky, but this works just good enough.
            // The original code executes base.Update(); return; instead.
            if ((Manager.state & State.FrameStep) == State.FrameStep)
            {
                PreviousGameLoop        = Engine.OverloadGameLoop;
                Engine.OverloadGameLoop = FrameStepGameLoop;
            }
        }
        public static void MInput_Update(On.Monocle.MInput.orig_Update orig)
        {
            if (!Settings.Enabled)
            {
                orig();
                return;
            }

            if (!Manager.Running || Manager.Recording)
            {
                orig();
            }

            if (Manager.Running || Engine.Scene?.Entities.Any(entity => entity.GetType().IsSubclassOf(typeof(KeyboardConfigUI))) != true)
            {
                Manager.Update();
            }

            // Hacky, but this works just good enough.
            // The original code executes base.Update(); return; instead.
            if ((Manager.State & State.FrameStep) == State.FrameStep)
            {
                PreviousGameLoop        = Engine.OverloadGameLoop;
                Engine.OverloadGameLoop = FrameStepGameLoop;
            }
        }
Beispiel #3
0
        public static void MInput_Update(On.Monocle.MInput.orig_Update orig)
        {
            if (!Settings.Enabled)
            {
                orig();
                return;
            }

            if (!Manager.Running || Manager.Recording)
            {
                orig();
            }
            UpdateInputs();

            // Hacky, but this works just good enough.
            // The original code executes base.Update(); return; instead.
            if ((Manager.state & State.FrameStep) == State.FrameStep)
            {
                PreviousGameLoop        = Engine.OverloadGameLoop;
                Engine.OverloadGameLoop = FrameStepGameLoop;
            }
        }