public override void Tick()
{
if (Timeout < 0)
return;
var now = DateTime.Now;
var diff = now - _lastTick;
_lastTick = now;
double previousTimeout = Timeout;
Timeout -= diff.TotalSeconds;
if ((int)(Timeout / 20) != (int)(previousTimeout / 20))
{
if (Timeout > 0.1 && Timeout < 60)
{
Manager.SendToAll("{0} seconds to go!", (int)Timeout);
}
}
if (Timeout <= 0.1)
TimeoutReached();
}