using UnityEngine; using UnityEngine.Events; using System; using System.Collections; public abstract class Tween { public bool InForward; public bool InBackward; public bool IsForward; public bool IsBackward; public UnityAction OnForwardStart; public UnityAction OnForwardFinish; public UnityAction OnBackwardStart; public UnityAction OnBackwardFinish; public float Duration; protected float Timer; protected bool DestActive; protected bool OriginActive; public abstract bool DoForward(); public abstract bool DoBackward(); public void ConfineForward() { if (InForward) { StartForward(); } } public void ConfineBackward() { if (InBackward) { StartBackward(); } } public virtual void StartForward() { IsForward = true; InForward = false; OnForwardStart.Invoke(); ManaAnim.TweenForList.Add(this); ManaAnim.TweenBacList.Remove(this); } public virtual void StartBackward() { IsBackward = true; InBackward = false; OnBackwardStart.Invoke(); ManaAnim.TweenForList.Remove(this); ManaAnim.TweenBacList.Add(this); } }