private void InvokeEffectsReleased(IEnumerable<Effect> effects)
 {
     var handler = EffectsReleased;
     if (handler == null) {
         return;
     }
     var e = new EffectEventArgs(effects);
     handler(this, e);
 }
 private void OnEffectsReleased(object sender, EffectEventArgs e)
 {
     foreach (var effect in e.Effects) {
         ApplyEffect(effect);
     }
 }
        private void InvokeEffectExpired(Effect effect)
        {
            var handler = EffectExpired;
            if (handler == null) {
                return;
            }

            var e = new EffectEventArgs(new[]{effect});
            handler(this, e);
        }
 private void OnEffectExpired(object sender, EffectEventArgs e)
 {
     foreach (var effect in e.Effects) {
         if (effect.IsIconAvailable) {
             iconSlotManager.HideEffect(effect);
         }
     }
 }