@@ -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>
0 commit comments