private void DisableOverlay() { if (_overlay == null) { return; } var overlayManager = IoCManager.Resolve <IOverlayManager>(); overlayManager.RemoveOverlay(_overlay.ID); _overlay = null; _cancelToken.Cancel(); _cancelToken = null; }
private void EnableOverlay(double duration) { // If the timer gets reset if (_overlay != null) { _overlay.Duration = _duration; _overlay.StartTime = _startTime; _cancelToken.Cancel(); } else { var overlayManager = IoCManager.Resolve <IOverlayManager>(); _overlay = new FlashOverlay(_duration); overlayManager.AddOverlay(_overlay); } _cancelToken = new CancellationTokenSource(); Timer.Spawn((int)duration * 1000, DisableOverlay, _cancelToken.Token); }