using UnityEngine; using System; public class RotateToZ : SomethingTo { private Quaternion fromQuaternion; private float targetAngle; private void Lerp(float lerp){ transform.rotation = fromQuaternion * Quaternion.AngleAxis(Mathf.Lerp(0.0f, targetAngle, lerp), Vector3.forward); } public void ChangeRotation(float targetAngle, float interval, EasingType easingType = EasingType.Linear){ ChangeRotation(targetAngle, interval, ActionExtensions.EmptyAction, easingType); } public void ChangeRotation(float targetAngle, float interval, Action callback, EasingType easingType = EasingType.Linear){ this.targetAngle = targetAngle; this.fromQuaternion = transform.rotation; Begin(Lerp, interval, callback, easingType); } }