Files
BeatSaber/Assets/VRBeatsKit/Scripts/Other/RotPartController.cs
T

74 lines
1.9 KiB
C#
Raw Normal View History

using UnityEngine;
using System.Collections;
namespace VRBeats
{
public class RotPartController : MonoBehaviour
{
[SerializeField] private Ease ease = Ease.Linear;
[SerializeField] private float animTime = 2.0f;
private Transform[] childArray = null;
private bool open = false;
private void Awake()
{
childArray = new Transform[ transform.childCount ];
for (int n = 0; n < transform.childCount; n++)
{
childArray[n] = transform.GetChild(n);
}
//PlayRotAnimation(10.0f);
//yield return new WaitForSeconds(10.0f);
//Reverse(10.0f);
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.J))
{
if (open)
{
Reverse(0.0f);
}
else
{
PlayRotAnimation(10.0f);
}
open = !open;
}
}
public void PlayRotAnimation(float rotAmount)
{
float step = rotAmount;
for (int n = 0; n < childArray.Length; n++)
{
childArray[n].RotateTween(Vector3.forward , step * ( childArray.Length - n ) , animTime ).SetEase(ease);
childArray[n].ScaleTween( new Vector3(1.0f , 1.0f , 0.0f) , animTime ).SetEase(ease);
}
}
public void Reverse(float rotAmount)
{
float step = rotAmount;
for (int n = 0; n < childArray.Length; n++)
{
childArray[n].RotateTween(Vector3.forward, step * (childArray.Length - n), animTime).SetEase(ease);
childArray[n].ScaleTween(new Vector3(1.0f, 1.0f, 4.0f), animTime).SetEase(ease);
}
}
}
}