/// <summary> /// Called when a Timer completes. /// Restarts the Timer if it is set to loop. /// Recycles the Timer if Chronos is set to recycle. /// </summary> private void Complete() { // No matter what, we complete at least once, therefore we complete at least one loop _loopCount++; _onLoopComplete.SafeInvoke(); if (IsLooping) { _currentTime = 0f; return; } _onComplete.SafeInvoke(); DeactivateTimer(); _isComplete = true; }