Merge pull request #12744 from Joehuu/global-actions-idle-tracker

Fix idle tracker not accounting global actions
This commit is contained in:
Dan Balasescu 2021-05-11 15:17:12 +09:00 committed by GitHub
commit a8be7499e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,13 +6,14 @@ using osu.Framework.Graphics;
using osu.Framework.Input; using osu.Framework.Input;
using osu.Framework.Input.Bindings; using osu.Framework.Input.Bindings;
using osu.Framework.Input.Events; using osu.Framework.Input.Events;
using osu.Game.Input.Bindings;
namespace osu.Game.Input namespace osu.Game.Input
{ {
/// <summary> /// <summary>
/// Track whether the end-user is in an idle state, based on their last interaction with the game. /// Track whether the end-user is in an idle state, based on their last interaction with the game.
/// </summary> /// </summary>
public class IdleTracker : Component, IKeyBindingHandler<PlatformAction>, IHandleGlobalKeyboardInput public class IdleTracker : Component, IKeyBindingHandler<PlatformAction>, IKeyBindingHandler<GlobalAction>, IHandleGlobalKeyboardInput
{ {
private readonly double timeToIdle; private readonly double timeToIdle;
@ -58,6 +59,10 @@ namespace osu.Game.Input
public void OnReleased(PlatformAction action) => updateLastInteractionTime(); public void OnReleased(PlatformAction action) => updateLastInteractionTime();
public bool OnPressed(GlobalAction action) => updateLastInteractionTime();
public void OnReleased(GlobalAction action) => updateLastInteractionTime();
protected override bool Handle(UIEvent e) protected override bool Handle(UIEvent e)
{ {
switch (e) switch (e)