@@ -81,6 +81,10 @@ public enum PlayOnEnable
81
81
[ SerializeField ]
82
82
private PlayOnEnable m_PlayOnEnable = PlayOnEnable . Forward ;
83
83
84
+ [ Tooltip ( "Reset the tweening time when the component is enabled." ) ]
85
+ [ SerializeField ]
86
+ private bool m_ResetTimeOnEnable = true ;
87
+
84
88
[ Tooltip ( "The wrap mode of the tween.\n " +
85
89
" Once: Clamp the tween value (not loop).\n " +
86
90
" Loop: Loop the tween value.\n " +
@@ -220,11 +224,13 @@ public PlayOnEnable playOnEnable
220
224
set => m_PlayOnEnable = value ;
221
225
}
222
226
223
- [ Obsolete ( "UIEffectTweener.restartOnEnable has been deprecated. Use UIEffectTweener.playOnEnable instead" ) ]
224
- public bool restartOnEnable
227
+ /// <summary>
228
+ /// Reset the tweening time when the component is enabled..
229
+ /// </summary>
230
+ public bool resetTimeOnEnable
225
231
{
226
- get => m_PlayOnEnable != PlayOnEnable . Forward ;
227
- set => m_PlayOnEnable = value ? PlayOnEnable . None : PlayOnEnable . Forward ;
232
+ get => m_ResetTimeOnEnable ;
233
+ set => m_ResetTimeOnEnable = value ;
228
234
}
229
235
230
236
/// <summary>
@@ -303,13 +309,13 @@ private void OnEnable()
303
309
switch ( playOnEnable )
304
310
{
305
311
case PlayOnEnable . KeepDirection :
306
- Play ( ) ;
312
+ Play ( resetTimeOnEnable ) ;
307
313
break ;
308
314
case PlayOnEnable . Forward :
309
- PlayForward ( ) ;
315
+ PlayForward ( resetTimeOnEnable ) ;
310
316
break ;
311
317
case PlayOnEnable . Reverse :
312
- PlayReverse ( ) ;
318
+ PlayReverse ( resetTimeOnEnable ) ;
313
319
break ;
314
320
}
315
321
}
@@ -339,6 +345,11 @@ public void Play(bool resetTime)
339
345
ResetTime ( ) ;
340
346
}
341
347
348
+ Play ( ) ;
349
+ }
350
+
351
+ public void Play ( )
352
+ {
342
353
_isPaused = false ;
343
354
344
355
if ( ! isTweening )
@@ -347,15 +358,14 @@ public void Play(bool resetTime)
347
358
}
348
359
}
349
360
350
- public void Play ( )
361
+ public void PlayForward ( bool resetTime )
351
362
{
352
- ResetTime ( ) ;
353
- _isPaused = false ;
354
-
355
- if ( ! isTweening )
363
+ if ( resetTime )
356
364
{
357
- m_OnComplete . Invoke ( ) ;
365
+ ResetTime ( ) ;
358
366
}
367
+
368
+ PlayForward ( ) ;
359
369
}
360
370
361
371
public void PlayForward ( )
@@ -369,6 +379,16 @@ public void PlayForward()
369
379
}
370
380
}
371
381
382
+ public void PlayReverse ( bool resetTime )
383
+ {
384
+ if ( resetTime )
385
+ {
386
+ ResetTime ( ) ;
387
+ }
388
+
389
+ PlayReverse ( ) ;
390
+ }
391
+
372
392
public void PlayReverse ( )
373
393
{
374
394
direction = Direction . Reverse ;
0 commit comments