24 lines
851 B
C#
24 lines
851 B
C#
using System;
|
||
using System.Collections.Generic;
|
||
using AlicizaX;
|
||
|
||
namespace AlicizaX
|
||
{
|
||
[UnityEngine.Scripting.Preserve]
|
||
public interface ITimerModule : IModule, IModuleUpdate
|
||
{
|
||
int AddTimer(TimerHandler callback, float time, bool isLoop = false, bool isUnscaled = false, params object[] args);
|
||
int AddTimer(TimerHandlerNoArgs callback, float time, bool isLoop = false, bool isUnscaled = false);
|
||
|
||
// 优化1: 使用值类型泛型参数,完全零GC
|
||
int AddTimer<T>(Action<T> callback, T arg, float time, bool isLoop = false, bool isUnscaled = false);
|
||
void Stop(int timerId);
|
||
void Resume(int timerId);
|
||
bool IsRunning(int timerId);
|
||
float GetLeftTime(int timerId);
|
||
void Restart(int timerId);
|
||
void RemoveTimer(int timerId);
|
||
void RemoveAllTimer();
|
||
}
|
||
}
|