protected override void Initialise() { container = GetComponentInParent <MovingContainer>(); composite = GetComponent <CompositeCollider2D>(); catcher = GetComponent <PlatformCatcher>(); m_Rigidbody2D = GetComponent <Rigidbody2D>(); }
private static IEnumerator MoveToRoutine(MovingContainer data, Action <Vector3> callback, Action endCallback) { float elapsed = 0; while (elapsed < data.Duration) { data.OriginPos = Vector3.Lerp(data.OriginPos, data.TargetPos, elapsed / data.Duration); callback?.Invoke(data.OriginPos); elapsed += Time.deltaTime; yield return(null); } data.OriginPos = data.TargetPos; callback.Invoke(data.OriginPos); endCallback?.Invoke(); }
public static Coroutine MoveTo(MovingContainer data, Action <Vector3> callback, Action endCallback = null) { CheckForObject(); return(_routinesObject.StartCoroutine(MoveToRoutine(data, callback, endCallback))); }