/// <summary> /// Copies the values in this <see cref="ParticleEmitter"/> to another. /// </summary> /// <param name="destination">The <see cref="ParticleEmitter"/> to copy the values to.</param> public void CopyValuesTo(IParticleEmitter destination) { var d = (ParticleEmitter)destination; d.BlendMode = BlendMode; d.Budget = Budget; d.EmitterLife = EmitterLife; d.ParticleLife = ParticleLife; d.Origin = Origin; d.Name = Name; d.ReleaseAmount = ReleaseAmount; d.ReleaseColor = ReleaseColor; d.ReleaseRate = ReleaseRate; d.ReleaseRotation = ReleaseRotation; d.ReleaseScale = ReleaseScale; d.ReleaseSpeed = ReleaseSpeed; d.Sprite.SetGrh(Sprite.GrhData, Sprite.AnimType, Sprite.LastUpdated); d.ParticleModifiers.Clear(); d.ParticleModifiers.AddRange(ParticleModifiers.Select(x => x.DeepCopy())); d.EmitterModifiers.Clear(); d.EmitterModifiers.AddRange(EmitterModifiers.Select(x => x.DeepCopy())); }