• TimerManager计时任务管理器


          public void Start()
                {
                    running = true;
                }

                public void Stop()
                {
                    stopped = true;
                    running = false;
                }

                public void Pause()
                {
                    paused = true;
                }

                public void UnPause()
                {
                    paused = false;
                }
            }

            private List<TimerState> timerList = new List<TimerState>();

            private void Update()
            {
                for (int i = 0; i < timerList.Count ; i++)
                {
                    timerList[i].UpdateTime(timerList[i].ignoreTimeScale ? Time.realtimeSinceStartup : Time.deltaTime);
                }
            }

            public TimerState CreateTimer(float time, TimeUnit timeUnit,bool ignoreTimeScale)
            {
                TimerState newTimer = new TimerState(time, timeUnit, ignoreTimeScale);
                timerList.Add(newTimer);
                return newTimer;
            }

            public void ClearTimer() { }
            public void ClearAllTimer() { }
        }
    }
     

    使用案例 

    public class text : MonoBehaviour {

        // Use this for initialization
        void Start () {
            Time.timeScale = 3;

            Timer timer = new Timer(1, TimeUnit.Second); //第三个参数是否忽略时间缩放带来的影响
            timer.Loop = true; // 设置可循环
            timer.Finished += rw; 
        }

        private void rw()
        {
            Debug.Log("你好");
        }
    }
    --------------------- 

  • 相关阅读:
    改进的延时函数Delay(使用MsgWaitForMultipleObjects等待消息或超时的到来)
    罗斯福新政
    保存网页为图片——滚动截取IE(WebBrowse)
    Linux LVM硬盘管理及LVM分区扩容
    visual leak dector内存泄漏检测方法
    小智慧30
    函数调用的原理
    HTTP协议漫谈
    Boost源码剖析之:泛型指针类any
    扩展C++ string类
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11277843.html
Copyright © 2020-2023  润新知