public void RemoveEffect(Effect effect) { Effect removed; if (Effects.TryRemove(effect.EffectId, out removed)) { effect.SendRemove(this); } }
public void SetEffect(Effect effect) { Effects.AddOrUpdate(effect.EffectId, delegate { effect.SendAdd(this); return effect; }, delegate { effect.SendUpdate(this); return effect; }); }