public bool Freeze() { _frozenLock.EnterUpgradeableReadLock(); try { if (_frozen) { return(false); } _frozenLock.EnterWriteLock(); try { _frozen = true; _frozenAt = OriginalClock.Time; } finally { _frozenLock.ExitWriteLock(); } } finally { _frozenLock.ExitUpgradeableReadLock(); } Frozen?.Invoke(this, EventArgs.Empty); return(true); }
protected void OnFrozen(CauseOfFreezing cause) { FreezeEventArgs args = new FreezeEventArgs(cause); Frozen?.Invoke(this, args); pauseSymbol.BeginAnimation(Canvas.OpacityProperty, pauseAnimation); pauseDisplay.Visibility = Visibility.Visible; }
private void FreezeHandler(object sender, PokemonEventArgs e) { Frozen?.Invoke(this, EventArgs); }