| | |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | |
| | | namespace vnxbqy.UI { |
| | | |
| | | [RequireComponent(typeof(Text))] |
| | | public class RollNumber:MonoBehaviour { |
| | | [RequireComponent(typeof(Text))] |
| | | public class RollNumber:MonoBehaviour { |
| | | |
| | | [SerializeField] |
| | | Text m_Text; |
| | | public Text text { |
| | | get { |
| | | return m_Text; |
| | | } |
| | | [SerializeField] |
| | | Text m_Text; |
| | | public Text text { |
| | | get { |
| | | return m_Text; |
| | | } |
| | | } |
| | | |
| | | float to = 0; |
| | | float from = 0; |
| | | float now = 0; |
| | | float to = 0; |
| | | float from = 0; |
| | | float now = 0; |
| | | |
| | | float duration = 0f; |
| | | float timer = 0f; |
| | | Action endCallBack = null; |
| | | float duration = 0f; |
| | | float timer = 0f; |
| | | Action endCallBack = null; |
| | | |
| | | public void Perform(int _from,int _to,float _duration,Action _callBack) { |
| | | ResetTimer(); |
| | | duration = Mathf.Clamp(_duration,0f,float.MaxValue); |
| | | from = _from; |
| | | to = _to; |
| | | endCallBack = _callBack; |
| | | } |
| | | public void Perform(int _from,int _to,float _duration,Action _callBack) { |
| | | ResetTimer(); |
| | | duration = Mathf.Clamp(_duration,0f,float.MaxValue); |
| | | from = _from; |
| | | to = _to; |
| | | endCallBack = _callBack; |
| | | } |
| | | |
| | | private void LateUpdate() { |
| | | if(timer < duration) { |
| | | timer += Time.deltaTime; |
| | | now = Mathf.Lerp(from,to,Mathf.Clamp01(timer / duration)); |
| | | if(timer > duration) { |
| | | ResetTimer(); |
| | | now = to; |
| | | if(endCallBack != null) { |
| | | endCallBack(); |
| | | endCallBack = null; |
| | | } |
| | | } |
| | | |
| | | if(text != null) { |
| | | var nowInt = (int)now; |
| | | text.text = nowInt.ToString(); |
| | | private void LateUpdate() { |
| | | if(timer < duration) { |
| | | timer += Time.deltaTime; |
| | | now = Mathf.Lerp(from,to,Mathf.Clamp01(timer / duration)); |
| | | if(timer > duration) { |
| | | ResetTimer(); |
| | | now = to; |
| | | if(endCallBack != null) { |
| | | endCallBack(); |
| | | endCallBack = null; |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void ResetTimer() { |
| | | timer = 0f; |
| | | duration = 0f; |
| | | if(text != null) { |
| | | var nowInt = (int)now; |
| | | text.text = nowInt.ToString(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void ResetTimer() { |
| | | timer = 0f; |
| | | duration = 0f; |
| | | } |
| | | } |
| | | |