public static Vector3InterpolationToken FromInterpolationToken(IInterpolationToken <float[]> t) { Vector3InterpolationToken inst = new Vector3InterpolationToken(); t.OnInterpolationCanceledSubscriber.Subscribe(inst._onInterpolationCanceled.Invoke); t.OnInterpolationEndSubscriber.Subscribe(inst._onInterpolationEnd.Invoke); t.OnInterpolationSubscriber.Subscribe(inst.HandleInterpolation); inst.tok = t; return(inst); }
/// <summary> /// Sets up an inteprolation for a vector 3 /// </summary> /// <param name="id"></param> /// <param name="from"></param> /// <param name="to"></param> /// <param name="duration"></param> /// <param name="ease"></param> /// <returns></returns> public static IInterpolationToken <Vector3> InterpolateVector3(int id, Vector3 from, Vector3 to, float duration, EEasingFunction ease) { SInterpolation[] interp = new SInterpolation[] { new SInterpolation(from.x, to.x, ease), new SInterpolation(from.y, to.y, ease), new SInterpolation(from.z, to.z, ease) }; IInterpolationToken <float[]> t = InterpolationManager.Instance.StartInterpolation(id, duration, interp); return(Vector3InterpolationToken.FromInterpolationToken(t)); }