37 lines
802 B
C#
37 lines
802 B
C#
using System;
|
|
using UnityEngine;
|
|
|
|
[ExecuteInEditMode]
|
|
public class MegaTankWheels : MonoBehaviour
|
|
{
|
|
public float radius = 1f;
|
|
|
|
public MegaTracks track;
|
|
|
|
private Vector3 localrot = Vector3.zero;
|
|
|
|
public float offang;
|
|
|
|
public MegaAxis axis = MegaAxis.Z;
|
|
|
|
private void Start()
|
|
{
|
|
localrot = base.transform.localRotation.eulerAngles;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if ((bool)track && (bool)track.shape)
|
|
{
|
|
MegaSpline megaSpline = track.shape.splines[track.curve];
|
|
float length = megaSpline.length;
|
|
float num = length * track.start * 0.01f;
|
|
float t = num / ((float)Math.PI * 2f * radius) * (float)Math.PI * 2f * 57.29578f;
|
|
t = Mathf.Repeat(t, 360f);
|
|
Vector3 euler = localrot;
|
|
euler[(int)axis] += t + offang;
|
|
base.transform.localRotation = Quaternion.Euler(euler);
|
|
}
|
|
}
|
|
}
|