瀏覽代碼

Apply fix #6 for Track.MouseCondition

Jean-David Moisan 4 年之前
父節點
當前提交
48dc110e4d
共有 1 個文件被更改,包括 4 次插入4 次删除
  1. 4 4
      Source/Track/MouseCondition.cs

+ 4 - 4
Source/Track/MouseCondition.cs

@@ -16,19 +16,19 @@ namespace Apos.Input.Track {
 
         /// <returns>Returns true when the button was not pressed and is now pressed.</returns>
         public bool Pressed(bool canConsume = true) {
-            return Pressed(_button, canConsume) && Input.MouseCondition.IsMouseValid;
+            return Input.MouseCondition.IsMouseValid && (Pressed(_button, canConsume) || !InputHelper.OldIsActive && Held(_button, canConsume));
         }
         /// <returns>Returns true when the button is now pressed.</returns>
         public bool Held(bool canConsume = true) {
-            return Held(_button, canConsume) && InputHelper.IsActive;
+            return InputHelper.IsActive && Held(_button, canConsume);
         }
         /// <returns>Returns true when the button was pressed and is now pressed.</returns>
         public bool HeldOnly(bool canConsume = true) {
-            return HeldOnly(_button, canConsume) && InputHelper.IsActive;
+            return InputHelper.IsActive && InputHelper.OldIsActive && HeldOnly(_button, canConsume);
         }
         /// <returns>Returns true when the button was pressed and is now not pressed.</returns>
         public bool Released(bool canConsume = true) {
-            return Released(_button, canConsume) && InputHelper.IsActive;
+            return InputHelper.IsActive && Released(_button, canConsume);
         }
         /// <summary>Mark the condition as used.</summary>
         public void Consume() {