/// <summary> /// Animation extension method for TransitionStep /// </summary> /// <typeparam name="T">interface type</typeparam> /// <param name="TransitionStep"></param> /// <returns></returns> public static TriggerAnimation TriggerAnimation(this TransitionStep transitionStep, float speed = 1, float delay = 0, float duration = 0.5f, string trigger = "TransitionIn", string targetState = "TransitionOut", bool runAtStart = false, Action onStart = null, Action<float> onUpdate = null, Action onComplete = null) { var newTransitionStep = new TriggerAnimation(transitionStep.Target, speed, delay, duration, trigger, targetState, onStart, onUpdate, onComplete); if (runAtStart) transitionStep.AddOnStartTransitionStep(newTransitionStep); else transitionStep.AddOnCompleteTransitionStep(newTransitionStep); newTransitionStep.Parent = transitionStep; return newTransitionStep; }
/// <summary> /// Move extension method for TransitionStep /// </summary> /// <typeparam name="T">interface type</typeparam> /// <param name="TransitionStep"></param> /// <returns></returns> public static Move MoveToOriginal(this TransitionStep transitionStep, Vector3 startPosition, float delay = 0, float duration = 0.5f, TransitionHelper.TweenType tweenType = TransitionHelper.TweenType.linear, AnimationCurve animationCurve = null, TransitionStep.CoordinateSpaceType coordinateMode = TransitionStep.CoordinateSpaceType.Global, bool runAtStart = false, Action onStart = null, Action<float> onUpdate = null, Action onComplete = null) { var newTransitionStep = new Move(transitionStep.Target, startPosition, Vector3.zero, delay, duration, TransitionStep.TransitionModeType.ToOriginal, tweenType, animationCurve, coordinateMode, onStart, onUpdate, onComplete); if (runAtStart) transitionStep.AddOnStartTransitionStep(newTransitionStep); else transitionStep.AddOnCompleteTransitionStep(newTransitionStep); newTransitionStep.Parent = transitionStep; return newTransitionStep; }
/// <summary> /// Fade extension method for TransitionStep /// </summary> /// <typeparam name="T">interface type</typeparam> /// <param name="TransitionStep"></param> /// <returns></returns> public static ScreenWipe ScreenWipe(this TransitionStep transitionStep, Texture2D maskTexture, bool invertMask = false, Color? color = null, Texture2D texture = null, float delay = 0, float duration = 0.5f, TransitionHelper.TweenType tweenType = TransitionHelper.TweenType.linear, AnimationCurve animationCurve = null, Action onStart = null, Action<float> onUpdate = null, Action onComplete = null) { var newTransitionStep = new ScreenWipe(transitionStep.Target, maskTexture, invertMask, color, texture, delay, duration, tweenType, animationCurve, onStart, onUpdate, onComplete); transitionStep.AddOnCompleteTransitionStep(newTransitionStep); newTransitionStep.Parent = transitionStep; return newTransitionStep; }
/// <summary> /// MoveTarget extension method for TransitionStep /// </summary> /// <typeparam name="T">interface type</typeparam> /// <param name="TransitionStep"></param> /// <returns></returns> public static MoveTarget MoveTarget(this TransitionStep transitionStep, Vector3 startPosition, Vector3 endPosition, float delay = 0, float duration = 0.5f, TransitionStep.TransitionModeType transitionMode = TransitionStep.TransitionModeType.Specified, TransitionHelper.TweenType tweenType = TransitionHelper.TweenType.linear, AnimationCurve animationCurve = null, bool runAtStart = false, Action onStart = null, Action<float> onUpdate = null, Action onComplete = null) { var newTransitionStep = new MoveTarget(transitionStep.Target, startPosition, endPosition, delay, duration, transitionMode, tweenType, animationCurve, onStart, onUpdate, onComplete); if (runAtStart) transitionStep.AddOnStartTransitionStep(newTransitionStep); else transitionStep.AddOnCompleteTransitionStep(newTransitionStep); newTransitionStep.Parent = transitionStep; return newTransitionStep; }
/// <summary> /// Move extension method for TransitionStep /// </summary> /// <typeparam name="T">interface type</typeparam> /// <param name="TransitionStep"></param> /// <returns></returns> public static MoveTarget MoveTargetFromOriginal(this TransitionStep transitionStep, Vector3 endPosition, float delay = 0, float duration = 0.5f, TransitionHelper.TweenType tweenType = TransitionHelper.TweenType.linear, AnimationCurve animationCurve = null, bool runAtStart = false, Action onStart = null, Action<float> onUpdate = null, Action onComplete = null) { var newTransitionStep = new MoveTarget(transitionStep.Target, Vector3.zero, endPosition, delay, duration, TransitionStep.TransitionModeType.FromCurrent, tweenType, animationCurve, onStart, onUpdate, onComplete); if (runAtStart) transitionStep.AddOnStartTransitionStep(newTransitionStep); else transitionStep.AddOnCompleteTransitionStep(newTransitionStep); newTransitionStep.Parent = transitionStep; newTransitionStep.StartValue = newTransitionStep.OriginalValue; return newTransitionStep; }
/// <summary> /// Scale extension method for TransitionStep /// </summary> /// <typeparam name="T">interface type</typeparam> /// <param name="TransitionStep"></param> /// <returns></returns> public static Scale ScaleToOriginal(this TransitionStep transitionStep, Vector3 startScale, float delay = 0, float duration = 0.5f, TransitionHelper.TweenType tweenType = TransitionHelper.TweenType.linear, AnimationCurve animationCurve = null, bool runAtStart = false, Action onStart = null, Action<float> onUpdate = null, Action onComplete = null) { var newTransitionStep = new Scale(transitionStep.Target, startScale, Vector3.zero, delay, duration, TransitionStep.TransitionModeType.ToOriginal, tweenType, animationCurve, onStart, onUpdate, onComplete); if (runAtStart) transitionStep.AddOnStartTransitionStep(newTransitionStep); else transitionStep.AddOnCompleteTransitionStep(newTransitionStep); newTransitionStep.Parent = transitionStep; newTransitionStep.EndValue = newTransitionStep.OriginalValue; return newTransitionStep; }