|
|
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
-
- public class BabyController : MonoBehaviour
- {
- private Vector3 currentVector;
- [HideInInspector]
- public Vector3 targetVector;
- private Rigidbody rb;
-
- private YeetHandle yeetHandle;
-
- public float speed;
-
- private float timer = 0;
- public float minRandTimer;
- public float maxRandTimer;
- public float randTimer;
-
- void Start()
- {
- rb = GetComponent<Rigidbody>();
- yeetHandle = GetComponent<YeetHandle>();
-
- currentVector = RandomNormVector();
- targetVector = RandomNormVector();
-
- randTimer = Random.Range(minRandTimer, maxRandTimer);
- }
-
- void FixedUpdate()
- {
-
- if(!yeetHandle.held)
- {
- currentVector = Vector3.Slerp(currentVector, targetVector, Time.deltaTime);
- rb.MovePosition(transform.position + (currentVector * speed));
- }
-
-
- timer += Time.deltaTime;
- if (timer > randTimer)
- {
- targetVector = RandomNormVector();
- timer = 0;
- randTimer = Random.Range(minRandTimer, maxRandTimer);
- }
- }
-
- public Vector3 RandomNormVector()
- {
- float _x = Random.Range(-1f, 1f);
- float _z = Random.Range(-1f, 1f);
- return new Vector3(_x, 0, _z).normalized;
- }
-
- private void OnDrawGizmos()
- {
- Gizmos.DrawLine(transform.position, transform.position + currentVector);
- }
- }
|