声明计时开关
private bool TimeOnSet;
声明生成时间
private List<float> mGenerateTimes;
在某个时机记录一下,比如按下按钮的瞬间,开始计时
this.RegisterEvent<TimeOnEvent>(e =>
{
TimeOnSet = true;
//姣忎釜PaperEffectList鎵€鍦ㄧ殑鍐呭鍧囪杩涜璁$畻銆傚苟璁板綍
for (int i = 0; i < PaperEffectList.Count; i++)
{
mGenerateTimes.Add(Time.time);
}
}).UnRegisterWhenGameObjectDestroyed(gameObject);
this.RegisterEvent<TimeStopEvent>(e =>
{
TimeOnSet = false;
mGenerateTimes = new List<float>();
}).UnRegisterWhenGameObjectDestroyed(gameObject);
}
检查是否触发
if (TimeOnSet)
{
for (int i = 0; i < PaperEffectList.Count; i++)
{
if (Time.time - mGenerateTimes[i] > PaperEffectList[i].Timecheck)
{
mGenerateTimes[i] = Time.time;
//鍙戦€佽绠楀垎鏁扮殑鍛戒护
this.SendCommand(new WorkGoCommand(PaperTypeList[CurrentPage], PaperEffectList[i].Effectnum* PaperTypeList[i].Precent/100));
}
}
}
该代码实现了一个计时开关功能,通过TimeOnSet变量控制。当TimeOnEvent事件触发时,开始记录时间并存储在mGenerateTimes列表中。TimeStopEvent事件则重置计时开关和时间列表。在计时开启状态下,循环检查每个PaperEffectList项,如果超过预设时间,则发送工作命令并更新时间戳。
1137

被折叠的 条评论
为什么被折叠?



