public virtual BaseEffect Clone() { var effect = (BaseEffect) this.MemberwiseClone (); if (effect.EffectData != null) effect.EffectData = EffectData.Clone (); return effect; }