1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System;
- using UnityEngine;
- [AddComponentMenu("NGUI/Examples/Spin")]
- public class Spin : MonoBehaviour
- {
- private void Start()
- {
- this.mTrans = base.transform;
- this.mRb = base.GetComponent<Rigidbody>();
- }
- private void Update()
- {
- if (this.mRb == null)
- {
- this.ApplyDelta((!this.ignoreTimeScale) ? Time.deltaTime : RealTime.deltaTime);
- }
- }
- private void FixedUpdate()
- {
- if (this.mRb != null)
- {
- this.ApplyDelta(Time.deltaTime);
- }
- }
- public void ApplyDelta(float delta)
- {
- delta *= 360f;
- Quaternion rhs = Quaternion.Euler(this.rotationsPerSecond * delta);
- if (this.mRb == null)
- {
- this.mTrans.rotation = this.mTrans.rotation * rhs;
- }
- else
- {
- this.mRb.MoveRotation(this.mRb.rotation * rhs);
- }
- }
- public Vector3 rotationsPerSecond = new Vector3(0f, 0.1f, 0f);
- public bool ignoreTimeScale;
- private Rigidbody mRb;
- private Transform mTrans;
- }
|