Files
2026-02-21 16:45:37 +08:00

41 lines
1.1 KiB
C#

using UnityEngine;
namespace Crosstales.Radio.Demo.Util
{
[HelpURLAttribute("https://www.crosstales.com/media/data/assets/radio/api/class_crosstales_1_1_radio_1_1_demo_1_1_util_1_1_random_rotator.html")]
public class RandomRotator : MonoBehaviour
{
public Vector3 Speed;
public Vector2 ChangeInterval = new Vector2(10f, 45f);
private Transform tf;
private Vector3 speed;
private float elapsedTime;
private float changeTime;
public void Start()
{
tf = base.transform;
elapsedTime = (changeTime = Random.Range(ChangeInterval.x, ChangeInterval.y));
}
public void Update()
{
elapsedTime += Time.deltaTime;
if (elapsedTime > changeTime)
{
speed.x = Random.Range(0f - Mathf.Abs(Speed.x), Mathf.Abs(Speed.x));
speed.y = Random.Range(0f - Mathf.Abs(Speed.y), Mathf.Abs(Speed.y));
speed.z = Random.Range(0f - Mathf.Abs(Speed.z), Mathf.Abs(Speed.z));
changeTime = Random.Range(ChangeInterval.x, ChangeInterval.y);
elapsedTime = 0f;
}
tf.Rotate(speed.x * Time.deltaTime, speed.y * Time.deltaTime, speed.z * Time.deltaTime);
}
}
}