Tween.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using UnityEngine;
  2. using UnityEngine.Events;
  3. using System;
  4. using System.Collections;
  5. public abstract class Tween
  6. {
  7. public bool InForward;
  8. public bool InBackward;
  9. public bool IsForward;
  10. public bool IsBackward;
  11. public UnityAction OnForwardStart;
  12. public UnityAction OnForwardFinish;
  13. public UnityAction OnBackwardStart;
  14. public UnityAction OnBackwardFinish;
  15. public float Duration;
  16. protected float Timer;
  17. protected bool DestActive;
  18. protected bool OriginActive;
  19. public abstract bool DoForward();
  20. public abstract bool DoBackward();
  21. public void ConfineForward()
  22. {
  23. if (InForward)
  24. {
  25. StartForward();
  26. }
  27. }
  28. public void ConfineBackward()
  29. {
  30. if (InBackward)
  31. {
  32. StartBackward();
  33. }
  34. }
  35. public virtual void StartForward()
  36. {
  37. IsForward = true;
  38. InForward = false;
  39. OnForwardStart.Invoke();
  40. ManaAnim.TweenForList.Add(this);
  41. ManaAnim.TweenBacList.Remove(this);
  42. }
  43. public virtual void StartBackward()
  44. {
  45. IsBackward = true;
  46. InBackward = false;
  47. OnBackwardStart.Invoke();
  48. ManaAnim.TweenForList.Remove(this);
  49. ManaAnim.TweenBacList.Add(this);
  50. }
  51. }