BizHawk/BizHawk.Util/KeyTurbo.cs

36 lines
549 B
C#
Raw Normal View History

2013-04-16 00:42:57 +00:00
namespace BizHawk
2011-01-11 02:55:51 +00:00
{
public class TurboKey
{
public void Reset(int downTime, int upTime)
{
2013-04-16 00:42:57 +00:00
Value = false;
_timer = 0;
_upTime = upTime;
_downTime = downTime;
2011-01-11 02:55:51 +00:00
}
public void Tick(bool down)
{
if (!down)
{
2013-04-16 00:42:57 +00:00
Reset(_downTime, _upTime);
2011-01-11 02:55:51 +00:00
return;
}
2013-04-16 00:42:57 +00:00
_timer++;
2011-01-11 02:55:51 +00:00
2013-04-16 00:42:57 +00:00
Value = true;
if (_timer > _downTime)
Value = false;
if(_timer > (_upTime+_downTime))
2011-01-11 02:55:51 +00:00
{
2013-04-16 00:42:57 +00:00
_timer = 0;
Value = true;
2011-01-11 02:55:51 +00:00
}
}
2013-04-16 00:42:57 +00:00
public bool Value;
private int _upTime, _downTime, _timer;
2011-01-11 02:55:51 +00:00
}
}