| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- using UnityEngine;
 
- using System.Collections;
 
- namespace TMPro.Examples
 
- {
 
-     
 
-     public class ObjectSpin : MonoBehaviour
 
-     {
 
- #pragma warning disable 0414
 
-         public float SpinSpeed = 5;
 
-         public int RotationRange = 15;
 
-         private Transform m_transform;
 
-         private float m_time;
 
-         private Vector3 m_prevPOS;
 
-         private Vector3 m_initial_Rotation;
 
-         private Vector3 m_initial_Position;
 
-         private Color32 m_lightColor;
 
-         private int frames = 0;
 
-         public enum MotionType { Rotation, BackAndForth, Translation };
 
-         public MotionType Motion;
 
-         void Awake()
 
-         {
 
-             m_transform = transform;
 
-             m_initial_Rotation = m_transform.rotation.eulerAngles;
 
-             m_initial_Position = m_transform.position;
 
-             Light light = GetComponent<Light>();
 
-             m_lightColor = light != null ? light.color : Color.black;
 
-         }
 
-         // Update is called once per frame
 
-         void Update()
 
-         {
 
-             if (Motion == MotionType.Rotation)
 
-             {
 
-                 m_transform.Rotate(0, SpinSpeed * Time.deltaTime, 0);
 
-             }
 
-             else if (Motion == MotionType.BackAndForth)
 
-             {
 
-                 m_time += SpinSpeed * Time.deltaTime;
 
-                 m_transform.rotation = Quaternion.Euler(m_initial_Rotation.x, Mathf.Sin(m_time) * RotationRange + m_initial_Rotation.y, m_initial_Rotation.z);
 
-             }
 
-             else
 
-             {
 
-                 m_time += SpinSpeed * Time.deltaTime;
 
-                 float x = 15 * Mathf.Cos(m_time * .95f);
 
-                 float y = 10; // *Mathf.Sin(m_time * 1f) * Mathf.Cos(m_time * 1f);
 
-                 float z = 0f; // *Mathf.Sin(m_time * .9f);    
 
-                 m_transform.position = m_initial_Position + new Vector3(x, z, y);
 
-                 // Drawing light patterns because they can be cool looking.
 
-                 //if (frames > 2)
 
-                 //    Debug.DrawLine(m_transform.position, m_prevPOS, m_lightColor, 100f);
 
-                 m_prevPOS = m_transform.position;
 
-                 frames += 1;
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |