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); }
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); }