public void StartTimer(bool p_isPing, bool p_forceEnable, RestartEnum p_restartOption, bool p_forceRefreshInitialDelay = false) { RestartOption = p_restartOption; if (CurrentTime > 0 && enabled) { if (RestartOption == RestartEnum.DontRestartIfRunning) { return; } else if (RestartOption == RestartEnum.SafeRestartIfRunning) { ForceFinish(); } else if (RestartOption == RestartEnum.OnlyForceFinishIfRunning) { ForceFinish(); return; } } m_currentTime = m_maxTime; m_isPing = p_isPing; CurrentDelay = 0; if (p_forceEnable) { if (!enabled) { CurrentDelay = InitialDelay; enabled = true; } } if (p_forceRefreshInitialDelay) { CurrentDelay = InitialDelay; } if (IsPing) { CurrentDelay += PingDelayTime; } else { CurrentDelay += PongDelayTime; } if (enabled && CurrentDelay <= 0) { if (m_isPing) { StartPing(); } else { StartPong(); } } }
public void StartTimer (bool p_isPing, bool p_forceEnable, RestartEnum p_restartOption, bool p_forceRefreshInitialDelay = false) { RestartOption = p_restartOption; if(CurrentTime > 0 && enabled) { if(RestartOption == RestartEnum.DontRestartIfRunning) { return; } else if(RestartOption == RestartEnum.SafeRestartIfRunning) ForceFinish(); else if(RestartOption == RestartEnum.OnlyForceFinishIfRunning) { ForceFinish(); return; } } m_currentTime = m_maxTime; m_isPing = p_isPing; CurrentDelay = 0; if(p_forceEnable) { if(!enabled) { CurrentDelay = InitialDelay; enabled = true; } } if(p_forceRefreshInitialDelay) CurrentDelay = InitialDelay; if(IsPing) CurrentDelay += PingDelayTime; else CurrentDelay += PongDelayTime; if(enabled && CurrentDelay <=0) { if(m_isPing) StartPing(); else StartPong(); } }