static public class TriggerMarker{...}
查看:MyTool.Dynamic.TriggerMarkerr(标记\累加)器
目录
1.Edge 边缘检测
/// <summary>
/// 边缘检测:检测Switch是否发生变化,触发标记变成true一次 ; (false/true)用[与]运算过滤上下边缘
/// </summary>
/// <param name="Switch">主判断</param>
/// <param name="bit">标记位</param>
/// <returns>return : 触发标记</returns>
static public bool Edge(bool Switch ,ref bool bit){
bool T = Switch&&!bit;
bit = Switch;
return T;
}
2.Trigger T触发器
/// <summary>
/// T触发器:Switch间隔变成true,可改变触发标记状态(false/true)
/// </summary>
/// <param name="Switch">主判断</param>
/// <param name="bit">标记位</param>
/// <param name="trigger">触发标记</param>
/// <returns>return : 触发标记</returns>
static public bool Trigger(bool Switch,ref bool bit,ref bool trigger){
if(Switch&&!bit)trigger = !trigger;
bit = Switch;
return trigger;
}
3.Clock 计时器
/// <summary>
/// 计时器:计算执行时间,需要手动清零
/// </summary>
/// <param name="seconds">计时位</param>
/// <param name="Tarseconds">定时位</param>
/// <returns>return : 触发标记</returns>
static public bool Clock(ref float seconds,float Tarseconds){//手动清零,重新计时
if(seconds<=Tarseconds){
seconds+=Time.deltaTime;//计时
return false;
}else{
return true;
}
}
4.Count 计数器
/// <summary>
/// 计数器:计算执行次数,需要手动清零
/// </summary>
/// <param name="count">计数位</param>
/// <param name="Tarcount">设定数</param>
/// <returns>return : 触发标记</returns>
static public bool Count(ref int count,int Tarcount){
if(count<=Tarcount){
count+=1;
return false;
}else{
return true;
}
}