From 7f493f682503f5186308de7b8f74b5b49233cfe4 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Thu, 2 Nov 2023 11:51:31 +0800 Subject: +init --- GameCode/WigglerAnimatedVelocity.cs | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 GameCode/WigglerAnimatedVelocity.cs (limited to 'GameCode/WigglerAnimatedVelocity.cs') diff --git a/GameCode/WigglerAnimatedVelocity.cs b/GameCode/WigglerAnimatedVelocity.cs new file mode 100644 index 0000000..2106d1b --- /dev/null +++ b/GameCode/WigglerAnimatedVelocity.cs @@ -0,0 +1,45 @@ +using UnityEngine; + +public class WigglerAnimatedVelocity : MonoBehaviour +{ + [SerializeField] + private int stateCondition = -1; + + [SerializeField] + private Vector3 direction; + + [SerializeField] + private float timeSpeed = 1f; + + private Wiggler wiggler; + + private float time; + + private WigglerAnimationState wigglerAnimState; + + private void Start() + { + wiggler = GetComponent(); + wigglerAnimState = wiggler.parentOverride.GetComponentInParent(); + time = Random.Range(0f, 1000f); + } + + private void Update() + { + if (stateCondition == -1) + { + PerformUpdate(); + } + else if ((bool)wigglerAnimState && wigglerAnimState.animationState == stateCondition) + { + PerformUpdate(); + } + } + + private void PerformUpdate() + { + time += Time.deltaTime * timeSpeed; + float num = Mathf.Sin(time) * Time.deltaTime; + wiggler.velocity += wiggler.parentOverride.rotation * direction * num; + } +} -- cgit v1.1-26-g67d0