public override void createParticle() { if (Emitt) { float x = RANDOM.Next(0, 180); if (RANDOM.Next(0, 2) == 1) { x = -x; } float y = RANDOM.Next(0, 180); if (RANDOM.Next(0, 2) == 1) { y = -y; } float rotation = (float)Math.Atan2(x, -y); BaseParticle2DParams particleParms = new BaseParticle2DParams(); particleParms.TimeToLive = 1000; particleParms.Texture = base.particleTexture; particleParms.Scale = new Vector2(.75f); particleParms.Position = this.position; particleParms.Origin = new Vector2(Constants.TILE_SIZE / 2); particleParms.Direction = new Vector2(x, y); particleParms.Acceleration = new Vector2(.15f); particleParms.Rotation = rotation; particleParms.LightColour = Color.White; ConstantSpeedParticle particle = new ConstantSpeedParticle(particleParms); base.particles.Add(particle); base.createParticle(); } }
public SmokeParticleEmitter(ContentManager content, BaseParticle2DEmitterParams parms) : base(parms) { BaseParticle2DParams particleParms = new BaseParticle2DParams(); particleParms.Origin = new Vector2(16f); particleParms.Texture = parms.ParticleTexture; particleParms.TimeToLive = TIME_TO_LIVE; base.particleParams = particleParms; }
/// <summary> /// Builds the base particle /// </summary> /// <param name="parms">BaseParticle2DParams object containing the data required to build the particle</param> public BaseParticle2D(BaseParticle2DParams parms) : base(parms) { this.timeAlive = 0f; this.timeToLive = parms.TimeToLive; this.originalPosition = parms.Position; this.direction = parms.Direction; this.acceleration = parms.Acceleration; this.texture = parms.Texture; base.setRenderingRectByTexture(this.texture); }
public DustParticleEmitter(BaseParticle2DEmitterParams parms) : base(parms) { BaseParticle2DParams particleParams = new BaseParticle2DParams(); particleParams.Scale = new Vector2(.25f); particleParams.Origin = new Vector2(32f, 32f); particleParams.Texture = parms.ParticleTexture; particleParams.LightColour = COLOUR; particleParams.TimeToLive = TIME_TO_LIVE; base.particleParams = particleParams; }
public QuestionMarkEmitter(BaseParticle2DEmitterParams parms) : base(parms) { BaseParticle2DParams particleParams = new BaseParticle2DParams(); particleParams.Scale = new Vector2(.5f); particleParams.Origin = new Vector2(32f, 32f); particleParams.Texture = parms.ParticleTexture; particleParams.LightColour = COLOUR; particleParams.TimeToLive = TIME_TO_LIVE; particleParams.Direction = MOVEMENT_SPEED; particleParams.Acceleration = new Vector2(1f); base.particleParams = particleParams; }
public ExplosionParticleEmitter(ContentManager content, BaseParticle2DEmitterParams parms) : base(parms) { this.PARTICLE_TEXTURES = new Texture2D[5]; for (int i = 1; i <= this.PARTICLE_TEXTURES.Length; i++) { this.PARTICLE_TEXTURES[i - 1] = LoadingUtils.load <Texture2D>(content, "ExplosionParticle" + i); } BaseParticle2DParams particleParams = new BaseParticle2DParams(); particleParams.Scale = new Vector2(.5f); particleParams.Origin = new Vector2(16f); particleParams.LightColour = Color.White; particleParams.TimeToLive = TIME_TO_LIVE; base.particleParams = particleParams; }
public SmokeEmitter(BaseParticle2DEmitterParams parms) : base(parms) { this.elapsedEmittingTime = 0f; this.smoking = true; BaseParticle2DParams particleParams = new BaseParticle2DParams(); particleParams.Scale = new Vector2(.25f, .25f); particleParams.Position = new Vector2(1199f, 122f); particleParams.Origin = new Vector2(32f, 32f); particleParams.Texture = this.particleTexture; particleParams.LightColour = Color.Black; particleParams.TimeToLive = TIME_TO_LIVE; particleParams.Direction = MOVEMENT_SPEED; base.particleParams = particleParams; }
public override void createParticle() { Vector2 heading = HEADINGS[base.RANDOM.Next(HEADINGS.Length)]; BaseParticle2DParams particleParms = new BaseParticle2DParams(); particleParms.TimeToLive = 500; particleParms.Origin = this.origin; particleParms.Texture = base.particleTexture; particleParms.Scale = new Vector2(.5f); particleParms.Position = this.position; particleParms.Direction = heading; particleParms.Acceleration = new Vector2(25f, 35f); ConstantSpeedParticle particle = new ConstantSpeedParticle(particleParms); ScaleOverTimeEffectParams effectParms = new ScaleOverTimeEffectParams { ScaleBy = new Vector2(1.75f) }; particle.addEffect(new ScaleOverTimeEffect(effectParms)); if (this.sway) { PulseDirection direction = EnumUtils.numberToEnum <PulseDirection>(base.RANDOM.Next(2)); SwayEffectParms swayEffectParms = new SwayEffectParms { SwayBy = new Vector2(50f, 0f), SwayDownTo = -5f, SwayUpTo = 5f, Direction = direction }; particle.addEffect(new SwayEffect(swayEffectParms)); } SoundManager.getInstance().playSoundEffect(this.sfxEmitter, this.idleSFX); base.particles.Add(particle); base.createParticle(); }
public DeathParticleEmitter(BaseParticle2DEmitterParams parms, Vector2 position, Vector2 heading, List <Texture2D> characterTextures) : base(parms) { this.position = position; BaseParticle2DParams particleParms = new BaseParticle2DParams(); particleParms.TimeToLive = 350; particleParms.Acceleration = new Vector2(100f); particleParms.Direction = heading; particleParms.Origin = new Vector2(Constants.TILE_SIZE); particleParms.Texture = parms.ParticleTexture; base.particleParams = particleParms; // create additional effects for (int i = 0; i < 20; i++) { createParticle(); } particleParms.Scale = new Vector2(.5f); particleParms.Position = position; FadeEffectParams effectParms = null; DeacceleratingParticle particle = null; foreach (Texture2D texture in characterTextures) { particleParms.Texture = texture; particle = new DeacceleratingParticle(particleParms); effectParms = new FadeEffectParams { OriginalColour = Color.White, State = FadeEffect.FadeState.Out, TotalTransitionTime = Constants.DEATH_DURATION }; particle.addEffect(new FadeEffect(effectParms)); base.particles.Add(particle); } }
/// <summary> /// Constructs an Deaccelerating particle /// </summary> /// <param name="parms">BaseParticle2DParms object</param> public DeacceleratingParticle(BaseParticle2DParams parms) : base(parms) { }
public SmokeParticle(BaseParticle2DParams parms) : base(parms) { }
public ExplosionParticle(BaseParticle2DParams parms) : base(parms) { }
/// <summary> /// Constructs a particle that moves in a constant speed /// </summary> /// <param name="parms"></param> public ConstantSpeedParticle(BaseParticle2DParams parms) : base(parms) { }