TimeMgr.cs 945 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using CIS;
  3. using UnityEngine;
  4. public class TimeMgr : SingletonMonoBehaviourClass<TimeMgr>
  5. {
  6. public float deltaTime
  7. {
  8. get
  9. {
  10. return this._deltaTime;
  11. }
  12. }
  13. private void Start()
  14. {
  15. this.lastRealTime = Time.realtimeSinceStartup;
  16. if (this.mode == TimeMgr.TimeCountMode.Fix)
  17. {
  18. this._deltaTime = this.fixDeltaTime;
  19. }
  20. }
  21. private void Update()
  22. {
  23. if (this.mode == TimeMgr.TimeCountMode.RealTime)
  24. {
  25. this.realDeltaTime = Time.realtimeSinceStartup - this.lastRealTime;
  26. this.lastRealTime = Time.realtimeSinceStartup;
  27. this.realDeltaTime = Mathf.Clamp(this.realDeltaTime, 0f, 0.05f);
  28. this._deltaTime = this.realDeltaTime * Time.timeScale;
  29. }
  30. }
  31. private float realDeltaTime;
  32. private float lastRealTime;
  33. private float _deltaTime;
  34. public TimeMgr.TimeCountMode mode;
  35. public float fixDeltaTime;
  36. public enum TimeCountMode
  37. {
  38. RealTime,
  39. Fix
  40. }
  41. }