using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using UnityEngine;
|
|
/// <summary>
|
/// 主线程计时器驱动
|
/// </summary>
|
public static class DispatcherTimerDriver
|
{
|
/// <summary>
|
/// 计时器列表
|
/// </summary>
|
private static List<DispatcherTimer> TimersList = new List<DispatcherTimer>();
|
|
/// <summary>
|
/// 添加一个新的计时器到队列中
|
/// </summary>
|
/// <param name="timer"></param>
|
public static void AddTimer(DispatcherTimer timer)
|
{
|
TimersList.Add(timer);
|
}
|
|
/// <summary>
|
/// 从队列中删除一个计时器
|
/// </summary>
|
/// <param name="timer"></param>
|
public static void RemoveTimer(DispatcherTimer timer)
|
{
|
TimersList.Remove(timer);
|
}
|
|
/// <summary>
|
/// 清空所有
|
/// </summary>
|
public static void ClearAll()
|
{
|
TimersList.Clear();
|
}
|
|
/// <summary>
|
/// 执行timer
|
/// </summary>
|
public static void ExecuteTimers()
|
{
|
//Profiler.BeginSample("DispatcherTimerDriver.ExecuteTimers");
|
int count = TimersList.Count;
|
for (int i = 0; i < count; i++)
|
{
|
try
|
{
|
TimersList[i].ExecuteTimer();
|
}
|
catch (System.Exception ex)
|
{
|
Debug.LogException(ex);
|
}
|
}
|
|
//Profiler.EndSample();
|
}
|
}
|