public ParticleController(Game game, CarActor carActor) : base(game) { this.carActor = carActor; particleSystems = new List<ParticleSystem>(); particleSystems.Add(new ParticleSystem(game, game.Content, "Particles/FireSettings")); particleSystems.Add(new ParticleSystem(game, game.Content, "Particles/ProjectileTrailSettings")); fireEmitter = new ParticleEmitter(particleSystems[0], 10f, Vector3.Zero); smokeEmitter = new ParticleEmitter(particleSystems[1], 50f, Vector3.Zero); }
/// <summary> /// Constructs a new projectile. /// </summary> public Projectile(ParticleSystem explosionParticles, ParticleSystem explosionSmokeParticles, ParticleSystem projectileTrailParticles) { this.explosionParticles = explosionParticles; this.explosionSmokeParticles = explosionSmokeParticles; // Start at the origin, firing in a random (but roughly upward) direction. position = Vector3.Zero; velocity.X = (float)(random.NextDouble() - 0.5) * sidewaysVelocityRange; velocity.Y = (float)(random.NextDouble() + 0.5) * verticalVelocityRange; velocity.Z = (float)(random.NextDouble() - 0.5) * sidewaysVelocityRange; // Use the particle emitter helper to output our trail particles. trailEmitter = new ParticleEmitter(projectileTrailParticles, trailParticlesPerSecond, position); }