MyTool_Static.TriggerMarker标记\计时方法

static public class TriggerMarker{...}

查看:MyTool.Dynamic.TriggerMarkerr(标记\累加)器

目录

1.Edge 边缘检测

2.Trigger T触发器

3.Clock 计时器

4.Count 计数器


1.Edge 边缘检测

/// 
/// 边缘检测:检测Switch是否发生变化,触发标记变成true一次 ; (false/true)用[与]运算过滤上下边缘
/// 
/// 主判断
/// 标记位
/// return : 触发标记
static public bool Edge(bool Switch ,ref bool bit){
	bool T = Switch&&!bit;	
	bit = Switch;			
	return T;
}

2.Trigger T触发器

/// 
/// T触发器:Switch间隔变成true,可改变触发标记状态(false/true)
/// 
/// 主判断
/// 标记位
/// 触发标记
/// return : 触发标记
static public bool Trigger(bool Switch,ref bool  bit,ref bool trigger){
	if(Switch&&!bit)trigger = !trigger;
	bit = Switch;
	return trigger;
}

3.Clock 计时器

/// 
/// 计时器:计算执行时间,需要手动清零
/// 
/// 计时位
/// 定时位
/// return : 触发标记
static public bool Clock(ref DateTime LastTime, float Tarseconds)
{
    return ((DateTime.Now - LastTime).TotalSeconds > Tarseconds);
}

4.Count 累加计数器

/// 
/// 累加计数器:计算执行次数,需要手动清零
/// 
/// 计数位
/// 设定数
/// return : 触发标记
static public bool Count(ref float count,float Cumulative, float Tarcount)
{
    if (count <= Tarcount)
    {
        count += Cumulative;
        return false;
    }
    else
    {
        return true;
    }
}

 

你可能感兴趣的:(U3D_MyTool)