Esempio n. 1
0
    public IEnumerable <Action> WanderMovement()
    {
        var originalX = transform.localPosition.x;

        while (enabled)
        {
            // float down
            float lerp    = originalX;
            var   actions = EasingYields.Lerp(f => lerp = f, () => lerp, 4f, originalX + 1f, EasingYields.EasingFunction.SineEaseInOut,
                                              Toolbox.Instance.MainTimer);
            foreach (var act in actions)
            {
                if (!enabled)
                {
                    goto reset;
                }
                yield return(act);

                transform.localPosition = new Vector3(lerp, transform.localPosition.y, transform.localPosition.z);
            }

            // float up
            lerp    = transform.localPosition.x;
            actions = EasingYields.Lerp(f => lerp = f, () => lerp, 4f, originalX, EasingYields.EasingFunction.SineEaseInOut,
                                        Toolbox.Instance.MainTimer);
            foreach (var act in actions)
            {
                if (!enabled)
                {
                    goto reset;
                }
                yield return(act);

                transform.localPosition = new Vector3(lerp, transform.localPosition.y, transform.localPosition.z);
            }
        }

reset:
        transform.localPosition =
            new Vector3(originalX, transform.localPosition.y, transform.localPosition.z);
    }
Esempio n. 2
0
    public IEnumerable <Action> Float()
    {
        var originalY = transform.localPosition.y;

        while (enabled)
        {
            // float down
            float lerp    = originalY;
            var   actions = EasingYields.Lerp(f => lerp = f, () => lerp, 1.5f, originalY - 0.5f, EasingYields.EasingFunction.SineEaseInOut,
                                              Toolbox.Instance.MainTimer);
            foreach (var act in actions)
            {
                if (!enabled)
                {
                    goto reset;
                }
                yield return(act);

                transform.localPosition = new Vector3(transform.localPosition.x, lerp, transform.localPosition.z);
            }

            // float up
            lerp    = transform.localPosition.y;
            actions = EasingYields.Lerp(f => lerp = f, () => lerp, 1.5f, originalY, EasingYields.EasingFunction.SineEaseInOut,
                                        Toolbox.Instance.MainTimer);
            foreach (var act in actions)
            {
                if (!enabled)
                {
                    goto reset;
                }
                yield return(act);

                transform.localPosition = new Vector3(transform.localPosition.x, lerp, transform.localPosition.z);
            }
        }

reset:
        transform.localPosition =
            new Vector3(transform.localPosition.x, originalY, transform.localPosition.z);
    }