public static MotionBehaviour <V> LiveWhile <V>(this MotionBehaviour <V> self, Func <V, bool> condition) { Syntax.Resolve <V>(self, (e) => e.Wrap((v) => LifeCycle.LiveWhile(v as IEnumerator <float>, condition as Func <float, bool>)), (e) => e.Wrap((v) => LifeCycle.LiveWhile(v as IEnumerator <Vector2>, condition as Func <Vector2, bool>)), (e) => e.Wrap((v) => LifeCycle.LiveWhile(v as IEnumerator <Vector3>, condition as Func <Vector3, bool>)), (e) => e.Wrap((v) => LifeCycle.LiveWhile(v as IEnumerator <Vector4>, condition as Func <Vector4, bool>)) ); return(self); }
public static MotionBehaviour <V> StartDelay <V, T>(this MotionBehaviour <V> self, T delay) { Syntax.Resolve <V>(self, (e) => e.Wrap((v) => LifeCycle.Delay(v, Syntax.AsEnumerator <float, T>(delay))), (e) => e.Wrap((v) => LifeCycle.Delay(v, Syntax.AsEnumerator <float, T>(delay))), (e) => e.Wrap((v) => LifeCycle.Delay(v, Syntax.AsEnumerator <float, T>(delay))), (e) => e.Wrap((v) => LifeCycle.Delay(v, Syntax.AsEnumerator <float, T>(delay))) ); return(self); }
public static MotionBehaviour <V> LiveThreshold <V, T>(this MotionBehaviour <V> self, T threshold, Func <float, float, bool> comparator) { Syntax.Resolve <V>(self, (e) => e.Wrap((v) => LifeCycle.LiveThreshold(v, Syntax.AsEnumerator <float, T>(threshold), comparator)), (e) => e.Wrap((v) => LifeCycle.LiveThreshold(v, Syntax.AsEnumerator <float, T>(threshold), comparator)), (e) => e.Wrap((v) => LifeCycle.LiveThreshold(v, Syntax.AsEnumerator <float, T>(threshold), comparator)), (e) => e.Wrap((v) => LifeCycle.LiveThreshold(v, Syntax.AsEnumerator <float, T>(threshold), comparator)) ); return(self); }
public static MotionBehaviour <V> Lifetime <V, T>(this MotionBehaviour <V> self, T period) { Syntax.Resolve <V>(self, (e) => e.Wrap((v) => LifeCycle.Lifetime(v, Syntax.AsEnumerator <float, T>(period))), (e) => e.Wrap((v) => LifeCycle.Lifetime(v, Syntax.AsEnumerator <float, T>(period))), (e) => e.Wrap((v) => LifeCycle.Lifetime(v, Syntax.AsEnumerator <float, T>(period))), (e) => e.Wrap((v) => LifeCycle.Lifetime(v, Syntax.AsEnumerator <float, T>(period))) ); return(self); }