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; } }
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; } }