using GameLibs.Base.Timer;
using UnityEngine;
using UnityEngine.UI;
public class TestPanel : MonoBehaviour
{
void Start()
{
// 回调 回调参数 执行次数 计时时间
TimerSystem.GetInstance().Schedule(OnTimerFinished, "执行完成了,这里是传递的参数!", 3, 3);
}
private void OnTimerFinished(object param)
{
Debug.LogError(param.ToString());
}
private void Update()
{
TimerSystem.GetInstance().Update(Time.deltaTime);
}
}
using System.Collections.Generic;
namespace GameLibs.Base.Timer
{
/// <summary>
/// 定时器系统
/// </summary>
public class TimerSystem
{
//设置成单例
private static TimerSystem _instance = null;
public static TimerSystem GetInstance()
{
if (_instance == null)
{
_instance = new TimerSystem();
_instance.Initialized();
}
return _instance;
}
//TimerID 自增
private int _autoIncreTimerID = 1;
//回调
public delegate void TimerCallBack(object param);
//所有的计时器
private Dictionary<int, TimerNode> _timerDict = null;
//缓存中的计时器队列
private List&l