public void ParticleSystemPropertyChanged(CGfxParticleSystem sys) { for (int i = 0; i < sys.SubParticleSystems.Count; i++) { CopyParticleSystemProperty(sys.SubParticleSystems[i]); for (int j = 0; j < sys.SubParticleSystems[i].TempSubStates.Count; j++) { CopyParticleShapeProperty(sys.SubParticleSystems[i].TempSubStates[j]); } } //var srcProInfo = sysvalue.GetType().GetProperty(PropertyName); //if (srcProInfo != null) //{ // srcProInfo.SetValue(sysvalue, NewValue); //} }
public void CopyParticleSystemProperty(CGfxParticleSystem sys) { foreach (var p in ParticleSystemPropertyInfos) { var name = p.Key.Id.ToString().Replace("-", "_"); if (name.Equals(sys.Name)) { foreach (var v in p.Value) { var srcProInfo = sys.GetType().GetProperty(v.Key); if (srcProInfo != null) { srcProInfo.SetValue(sys, v.Value); } } break; } } }