Beispiel #1
0
        public static Vector3Tween ShakePosition(this Transform obj, float duration, Vector3 magnitude, bool relativeWorld = false)
        {
            Vector3      position = relativeWorld ? obj.position : obj.localPosition;
            Vector3Tween node     = Vector3Tween.Allocate(duration, position, position);

            node.SetUpdate(
                (result) =>
            {
                if (relativeWorld)
                {
                    obj.position = result;
                }
                else
                {
                    obj.localPosition = result;
                }
            });
            node.SetLerp(
                (from, to, progress) =>
            {
                return(TweenMath.Shake(magnitude, from, progress));
            });
            node.SetLoop(ETweenLoop.PingPong, 1);
            return(node);
        }
Beispiel #2
0
        public static Vector3Tween TweenScale(this Transform obj, float duration, Vector3 from, Vector3 to)
        {
            Vector3Tween node = Vector3Tween.Allocate(duration, from, to);

            node.SetUpdate((result) => { obj.localScale = result; });
            return(node);
        }
Beispiel #3
0
        public static Vector3Tween TweenAngles(this Transform obj, float duration, Vector3 from, Vector3 to, bool relativeWorld = false)
        {
            Vector3Tween node = Vector3Tween.Allocate(duration, from, to);

            node.SetUpdate(
                (result) =>
            {
                if (relativeWorld)
                {
                    obj.eulerAngles = result;
                }
                else
                {
                    obj.localEulerAngles = result;
                }
            });
            return(node);
        }