using System.Collections; using System.Collections.Generic; using UnityEngine; public class rotation { public float min = -15; public float max = 15; public float speed = 0.3f; public bool dir = false; public bool enabled = true; public float i = 0; public rotation(float speed, float min, float max) { this.speed = speed; this.min = min; this.max = max; } public float update() { if (enabled) { if (!dir && i < max) { i += speed; } else if (!dir) { dir = !dir; i = (float)max; } else if (dir && i > min) { i -= speed; } else if (dir) { dir = !dir; i = (float)min; } } return i; } } public class RotationControl : MonoBehaviour { public Vector3 transformation = new Vector3(0, 0, 0); public Vector3 transformation2 = new Vector3(0, 0, 0); public Quaternion rotation = new Quaternion(0, 0, 0, 0); public List rotation2 = new List(); public GameObject body; public GameObject body2; public rotation r1 = new rotation(0.1f, -10, 10); public rotation r2 = new rotation(0.2f, -10, 10); public rotation r3 = new rotation(0.3f, -10, 10); public rotation r4 = new rotation(0.06f, -3, 3); public rotation r5 = new rotation(0.08f, -3, 3); public rotation r6 = new rotation(0.1f, -3, 3); public rotation r7 = new rotation(0.1f, -3, 3); public rotation r8 = new rotation(0.2f, -3, 3); public rotation r9 = new rotation(0.3f, -3, 3); // Use this for initialization void Start () { } // Update is called once per frame void FixedUpdate() { //rotation.x = r1.update(); //rotation.y = r2.update(); //rotation.z = r3.update(); transformation.x = r4.update(); //transformation.y = r5.update(); transformation.z = r6.update(); /*transformation2.x = r7.update(); transformation2.y = r8.update(); transformation2.z = r9.update();*/ body.transform.eulerAngles = new Vector3(rotation.x*-1, rotation.y*-1, rotation.z*-1); body.transform.position = transformation; body2.transform.localPosition = transformation2; for (int index = 0; index < rotation2.Count; ++index) { rotation2[index].GetComponent().rotation = rotation; rotation2[index].GetComponent().transformation = transformation; rotation2[index].GetComponent().transformation2 = transformation2; rotation2[index].GetComponent().FixedUpdate(); } } }