Skip to content

Commit f37cd38

Browse files
committed
Added dedicated press/release events to Button class
1 parent b97682a commit f37cd38

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

Runtime/Button.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,20 @@ public float ReleasedDurationTime
8282
}
8383

8484
/// <summary>
85-
/// Invoked when <see cref="Value"/> is set through <see cref="Press"/>, <see cref="Release"/>, or <see cref="Toggle"/>.
85+
/// Invoked when <see cref="Value"/> is set through either <see cref="Press"/>, <see cref="Release"/>, or <see cref="Toggle"/>.
8686
/// </summary>
8787
public event System.Action<bool> OnValueChanged;
8888

89+
/// <summary>
90+
/// Invoked when the <see cref="Button"/> is pressed.
91+
/// </summary>
92+
public event System.Action OnPressed;
93+
94+
/// <summary>
95+
/// Invoked when the <see cref="Button"/> is released.
96+
/// </summary>
97+
public event System.Action OnReleased;
98+
8999
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
90100

91101
private bool pressAvailable = false;
@@ -137,6 +147,7 @@ public void Press()
137147
releaseAvailable = false;
138148
pressFrame = Time.frameCount;
139149
pressTime = Time.unscaledTime;
150+
OnPressed?.Invoke();
140151
OnValueChanged?.Invoke(true);
141152
}
142153
if (!set)
@@ -155,6 +166,7 @@ public void Release()
155166
releaseAvailable = true;
156167
releaseFrame = Time.frameCount;
157168
releaseTime = Time.unscaledTime;
169+
OnReleased?.Invoke();
158170
OnValueChanged?.Invoke(false);
159171
}
160172
if (!set)
@@ -171,8 +183,6 @@ public void Toggle()
171183
Release();
172184
else
173185
Press();
174-
if (!set)
175-
set = true;
176186
}
177187

178188
/// <summary>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.stephanhooft.input-processing",
3-
"version": "1.2.1",
3+
"version": "1.2.2",
44
"displayName": "Input Processing",
55
"description": "A package that contains helper classes to store and evaluate user input.",
66
"unity": "2020.3",

0 commit comments

Comments
 (0)