private void BtnNewEmitter_Click(object sender, EventArgs e) { ParticleEmitter New = new ParticleEmitter(); New.Name = TxtEmitterName.Text; Emitters.Add(New); LstEmitters.DataSource = null; LstEmitters.DataSource = Emitters; }
// Change the Emitter to edit public void NewEmitter(ParticleEmitter NewEmitter) { Emitter = NewEmitter; if (Emitter != null) { LblEmitterName.Text = "Selected Emitter: " + Emitter.Name; LstEmitterTextures.DataSource = null; LstEmitterTextures.DataSource = Emitter.ParticleTextures; NudStartAlpha.Value = Emitter.StartColor.A; NudEndAlpha.Value = Emitter.EndColor.A; PnlStartColor.BackColor = SysColor.FromArgb(Emitter.StartColor.R, Emitter.StartColor.G, Emitter.StartColor.B); PnlEndColor.BackColor = SysColor.FromArgb(Emitter.EndColor.R, Emitter.EndColor.G, Emitter.EndColor.B); CmbSourceBlends.SelectedIndex = (int)Emitter.SourceBlend; CmbDestBlends.SelectedIndex = (int)Emitter.DestinationBlend; NudStartRotation.Value = (decimal)Emitter.StartRotation; NudEndRotation.Value = (decimal)Emitter.EndRotation; NudStartScale.Value = (decimal)Emitter.StartScale; NudEndScale.Value = (decimal)Emitter.EndScale; NudNumToSpit.Value = Emitter.NumParticlesToSpit; NudLifeDuration.Value = (decimal)Emitter.LifeSpan; NudMaxParticles.Value = Emitter.MaxParticles; NudStartVelX.Value = (decimal)Emitter.StartVelocity.X; NudStartVelY.Value = (decimal)Emitter.StartVelocity.Y; NudEndVelX.Value = (decimal)Emitter.EndVelocity.X; NudEndVelY.Value = (decimal)Emitter.EndVelocity.Y; NudSpawnRate.Value = (decimal)Emitter.SpawnRate; NudRangeX.Value = (decimal)Emitter.SpawnRange.X; NudRangeY.Value = (decimal)Emitter.SpawnRange.Y; NudRangeWidth.Value = (decimal)Emitter.SpawnRange.Width; NudRangeHeight.Value = (decimal)Emitter.SpawnRange.Height; NudGravityX.Value = (decimal)Emitter.Gravity.X; NudGravityY.Value = (decimal)Emitter.Gravity.Y; NudDuration.Value = (decimal)Emitter.ParticleDuration; NudMaxParticleDuration.Value = (decimal)Emitter.ParticleDurationMax; NudGravitationalPull.Value = (decimal)Emitter.GravitationalPull; ChkRandVelocityX.Checked = Emitter.RandomStartVelocityX; ChkRandVelocityY.Checked = Emitter.RandomStartVelocityY; ChkRandomEndVelX.Checked = Emitter.RandomEndVelocityX; ChkRandomEndVelY.Checked = Emitter.RandomEndVelocityY; } else { LblEmitterName.Text = "Selected Emitter: None"; LstEmitterTextures.DataSource = null; NudStartAlpha.Value = 255; NudEndAlpha.Value = 0; PnlStartColor.BackColor = SysColor.White; PnlEndColor.BackColor = SysColor.Black; CmbSourceBlends.SelectedIndex = (int)Blend.SourceAlpha; CmbDestBlends.SelectedIndex = (int)Blend.One; NudStartRotation.Value = 0; NudEndRotation.Value = 0; NudStartScale.Value = 1; NudEndScale.Value = 0; NudNumToSpit.Value = 50; NudLifeDuration.Value = 5; NudMaxParticles.Value = 100; NudStartVelX.Value = 0; NudStartVelY.Value = 0; NudEndVelX.Value = 0; NudEndVelY.Value = 0; NudSpawnRate.Value = (decimal)0.5f; NudRangeX.Value = 248; NudRangeY.Value = 248; NudRangeWidth.Value = 32; NudRangeHeight.Value = 32; NudGravityX.Value = 256; NudGravityY.Value = 256; NudDuration.Value = (decimal)0.5f; NudGravitationalPull.Value = 0; ChkRandVelocityX.Checked = false; ChkRandVelocityY.Checked = false; ChkRandomEndVelX.Checked = false; ChkRandomEndVelY.Checked = false; } }