示例#1
0
        public static Tween <Transform, Vector2> TweenPositionXY(
            this Transform transform,
            Vector2 to,
            float duration,
            EasingFunction easing  = null,
            TweenSettings settings = null,
            bool isRelativeTo      = false,
            bool autoStart         = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;
            Tween <Transform, Vector2> tween = settings.UseVector2Tween <Transform>(transform, (TweenGetter <Transform, Vector2>)(x => Vector2.op_Implicit(x.get_position())), (TweenSetter <Transform, Vector2>)((Transform target, ref Vector2 value) =>
            {
                Vector3 position     = target.get_position();
                Transform transform1 = target;
                Vector3 vector3_1    = (Vector3)null;
                vector3_1.x          = value.x;
                vector3_1.y          = value.y;
                vector3_1.z          = position.z;
                Vector3 vector3_2    = vector3_1;
                transform1.set_position(vector3_2);
            }), easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }
            return(tween);
        }
示例#2
0
        public static Tween <Graphic, float> TweenAlpha(
            this Graphic graphic,
            float to,
            float duration,
            EasingFunction easing  = null,
            TweenSettings settings = null,
            bool isRelativeTo      = false,
            bool autoStart         = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;
            Tween <Graphic, float> tween = settings.UseFloatTween <Graphic>(graphic, (TweenGetter <Graphic, float>)(x => (float)x.get_color().a), (TweenSetter <Graphic, float>)((Graphic target, ref float value) =>
            {
                Color color1     = target.get_color();
                Graphic graphic1 = target;
                Color color2     = (Color)null;
                color2.r         = color1.r;
                color2.g         = color1.g;
                color2.b         = color1.b;
                color2.a         = (__Null)(double)value;
                Color color3     = color2;
                graphic1.set_color(color3);
            }), easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }
            return(tween);
        }
示例#3
0
        public static Tween <Transform, float> TweenPositionX(
            this Transform transform,
            float to,
            float duration,
            EasingFunction easing  = null,
            TweenSettings settings = null,
            bool isRelativeTo      = false,
            bool autoStart         = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;
            Tween <Transform, float> tween = settings.UseFloatTween <Transform>(transform, (TweenGetter <Transform, float>)(x => (float)x.get_position().x), (TweenSetter <Transform, float>)((Transform target, ref float value) =>
            {
                Vector3 position     = target.get_position();
                Transform transform1 = target;
                Vector3 vector3_1    = (Vector3)null;
                vector3_1.x          = (__Null)(double)value;
                vector3_1.y          = position.y;
                vector3_1.z          = position.z;
                Vector3 vector3_2    = vector3_1;
                transform1.set_position(vector3_2);
            }), easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }
            return(tween);
        }
示例#4
0
 public static IObservable <Unit> TweenPositionXYAsync(
     this Transform transform,
     Vector2 to,
     float duration,
     EasingFunction easing  = null,
     TweenSettings settings = null,
     bool isRelativeTo      = false)
 {
     return(transform.TweenPositionXY(to, duration, easing, settings, isRelativeTo, false).ToObservable(true));
 }
示例#5
0
 public static IObservable <Unit> TweenColorAsync(
     this Graphic graphic,
     Color to,
     float duration,
     EasingFunction easing  = null,
     TweenSettings settings = null,
     bool isRelativeTo      = false)
 {
     return(graphic.TweenColor(to, duration, easing, settings, isRelativeTo, false).ToObservable(true));
 }
示例#6
0
        public static Tween <Graphic, Color> TweenColor(
            this Graphic graphic,
            Color to,
            float duration,
            EasingFunction easing  = null,
            TweenSettings settings = null,
            bool isRelativeTo      = false,
            bool autoStart         = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;
            Tween <Graphic, Color> tween = settings.UseColorTween <Graphic>(graphic, (TweenGetter <Graphic, Color>)(x => x.get_color()), (TweenSetter <Graphic, Color>)((Graphic target, ref Color value) => target.set_color(value)), easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }
            return(tween);
        }
示例#7
0
        public static Tween <Transform, Vector3> TweenPosition(
            this Transform transform,
            Vector3 to,
            float duration,
            EasingFunction easing  = null,
            TweenSettings settings = null,
            bool isRelativeTo      = false,
            bool autoStart         = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;
            Tween <Transform, Vector3> tween = settings.UseVector3Tween <Transform>(transform, (TweenGetter <Transform, Vector3>)(x => x.get_position()), (TweenSetter <Transform, Vector3>)((Transform target, ref Vector3 value) => target.set_position(value)), easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }
            return(tween);
        }
示例#8
0
 /// <summary>Tween transform position(X).</summary>
 public static IObservable <Unit> TweenPositionXAsync(this Transform transform, float to, float duration, EasingFunction easing = null, TweenSettings settings = null, bool isRelativeTo = false)
 {
     return(TweenPositionX(transform, to, duration, easing, settings, isRelativeTo, autoStart: false).ToObservable());
 }
示例#9
0
        /// <summary>Tween color.</summary>
        public static Tween <Graphic, Color> TweenColor(this Graphic graphic, Color to, float duration, EasingFunction easing = null, TweenSettings settings = null, bool isRelativeTo = false, bool autoStart = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;

            var tween = settings.UseColorTween(graphic, x => x.color, (Graphic target, ref Color value) =>
            {
                target.color = value;
            }, easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }

            return(tween);
        }
示例#10
0
 /// <summary>Tween color alpha.</summary>
 public static IObservable <Unit> TweenAlphaAsync(this Graphic graphic, float to, float duration, EasingFunction easing = null, TweenSettings settings = null, bool isRelativeTo = false)
 {
     return(TweenAlpha(graphic, to, duration, easing, settings, isRelativeTo, autoStart: false).ToObservable());
 }
示例#11
0
 /// <summary>
 /// Tween a spline control position to the given position over time.
 /// </summary>
 static public Tween ControlPosTo(this ISpline inSpline, int inIndex, Vector3 inTarget, TweenSettings inSettings, Axis inAxis = Axis.XYZ)
 {
     return(BeauRoutine.Tween.Create(new TweenData_SplineControl_Position(inSpline, inIndex, inTarget, inAxis), inSettings));
 }
示例#12
0
 public static Tweener Set(this Tweener tweener, TweenSettings settings)
 {
     return(tweener.SetDelay(settings.delay)
            .SetEase(settings.ease)
            .SetLoops(settings.loops));
 }
示例#13
0
 public static void SetDefault(TweenSettings settings)
 {
     TweenSettings.Default = settings;
 }
示例#14
0
 /// <summary>
 /// Tweens a vector over the given spline over time.
 /// </summary>
 static public Tween Vector(ISpline inSpline, Action <Vector3> inSetter, TweenSettings inSettings, SplineTweenSettings inSplineSettings)
 {
     return(Tween.Create(new TweenData_Value_Spline(inSpline, inSetter, inSplineSettings), inSettings));
 }
示例#15
0
 /// <summary>
 /// Tweens over the given spline over time.
 /// </summary>
 static public Tween Spline(ISpline inSpline, SplineUpdateDelegate inUpdate, TweenSettings inSettings, SplineTweenSettings inSplineSettings)
 {
     return(Tween.Create(new TweenData_Value_SplineInfo(inSpline, inUpdate, inSplineSettings), inSettings));
 }
示例#16
0
        /// <summary>Tween transform position(Y).</summary>
        public static Tween <Transform, float> TweenPositionY(this Transform transform, float to, float duration, EasingFunction easing = null, TweenSettings settings = null, bool isRelativeTo = false, bool autoStart = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;

            var tween = settings.UseFloatTween(transform, x => x.position.y, (Transform target, ref float value) =>
            {
                var p           = target.position;
                target.position = new Vector3 {
                    x = p.x, y = value, z = p.z
                };
            }, easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }

            return(tween);
        }
示例#17
0
 public static ITween <T> To <T>(this ITween <T> tween, T value, TweenSettings settings)
 {
     return(tween.To(value, settings.Duration).Easing(settings.Easing));
 }
 /// <summary>Tween color.</summary>
 public static IObservable <Unit> TweenColorAsync(this SpriteRenderer spriteRenderer, Color to, float duration, EasingFunction easing = null, TweenSettings settings = null, bool isRelativeTo = false)
 {
     return(TweenColor(spriteRenderer, to, duration, easing, settings, isRelativeTo, autoStart: false).ToObservable());
 }
示例#19
0
 public void SetFadeParameters(TweenSettings faderSettings)
 {
     FadeTime   = faderSettings.Duration;
     FadeEasing = faderSettings.Easing;
 }
示例#20
0
        /// <summary>Tween transform localPosition.</summary>
        public static Tween <Transform, Vector3> TweenLocalPosition(this Transform transform, Vector3 to, float duration, EasingFunction easing = null, TweenSettings settings = null, bool isRelativeTo = false, bool autoStart = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;

            var tween = settings.UseVector3Tween(transform, x => x.localPosition, (Transform target, ref Vector3 value) =>
            {
                target.localPosition = value;
            }, easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }

            return(tween);
        }
示例#21
0
 /// <summary>
 /// Moves the RectTransform's anchorPosition along a spline over time.
 /// </summary>
 static public Tween AnchorPosAlong(this RectTransform inRectTransform, ISpline inSpline, TweenSettings inSettings, Axis inAxis, SplineTweenSettings inSplineSettings)
 {
     return(BeauRoutine.Tween.Create(new TweenData_RectTransform_AnchorPosSpline(inRectTransform, inSpline, inAxis, inSplineSettings), inSettings));
 }
示例#22
0
        /// <summary>Tween transform localScale(X, Y).</summary>
        public static Tween <Transform, Vector2> TweenLocalScaleXY(this Transform transform, Vector2 to, float duration, EasingFunction easing = null, TweenSettings settings = null, bool isRelativeTo = false, bool autoStart = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;

            var tween = settings.UseVector2Tween(transform, x => x.localScale, (Transform target, ref Vector2 value) =>
            {
                var p             = target.localScale;
                target.localScale = new Vector3 {
                    x = value.x, y = value.y, z = p.z
                };
            }, easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }

            return(tween);
        }
示例#23
0
 /// <summary>
 /// Moves the Transform along a spline over time.
 /// </summary>
 static public Tween MoveAlong(this Transform inTransform, ISpline inSpline, TweenSettings inSettings, Axis inAxis = Axis.XYZ, Space inSpace = Space.World)
 {
     return(BeauRoutine.Tween.Create(new TweenData_Transform_PositionSpline(inTransform, inSpline, inSpace, inAxis, SplineTweenSettings.Default), inSettings));
 }
示例#24
0
        /// <summary>Tween color alpha.</summary>
        public static Tween <Graphic, float> TweenAlpha(this Graphic graphic, float to, float duration, EasingFunction easing = null, TweenSettings settings = null, bool isRelativeTo = false, bool autoStart = true)
        {
            settings = settings ?? TweenSettings.Default;
            easing   = easing ?? settings.DefaultEasing;

            var tween = settings.UseFloatTween(graphic, x => x.color.a, (Graphic target, ref float value) =>
            {
                var x        = target.color;
                target.color = new Color {
                    r = x.r, g = x.g, b = x.b, a = value
                };
            }, easing, duration, to, isRelativeTo);

            if (autoStart)
            {
                tween.Start();
            }

            return(tween);
        }