BizHawk/BizHawk.Client.Common/KeyTurbo.cs

40 lines
593 B
C#
Raw Normal View History

2013-10-25 00:59:34 +00:00
namespace BizHawk.Client.Common
{
public class TurboKey
{
private int _upTime, _downTime, _timer;
public bool Value { get; set; }
2013-10-25 00:59:34 +00:00
public void Reset(int downTime, int upTime)
{
Value = false;
_timer = 0;
_upTime = upTime;
_downTime = downTime;
}
public void Tick(bool down)
{
if (!down)
{
Reset(_downTime, _upTime);
return;
}
_timer++;
Value = true;
if (_timer > _downTime)
{
2013-10-25 00:59:34 +00:00
Value = false;
}
if (_timer > _upTime + _downTime)
2013-10-25 00:59:34 +00:00
{
_timer = 0;
Value = true;
}
}
}
}