/// <summary> /// Spawns a ParticleEmitter of the specified type at the specified /// location. /// </summary> /// <param name="type">The type ParticleEmitter to spawn</param> /// <param name="location">The location to spawn the ParticleEmitter /// at</param> /// <returns>Returns a reference to the spawned ParticleEmitter /// </returns> public static ParticleEmitter spawnParticleEmitter(ParticleEmitterType type, Vector3 location) { checkIfInitialized(); ParticleEmitter spawnedParticleEmitter = null; switch (type) { case ParticleEmitterType.explosion: spawnedParticleEmitter = new ExplosionParticleEmitter(ContentLoader.ExplosionParticleTexture, location, Settings.EXPLOSION_PARTICLE_ACCELERATION, Settings.EXPLOSION_PARTICLES, Settings.EXPLOSION_PARTICLE_SIZE, Settings.EXPLOSION_PARTICLE_GROWTH_RATE, Settings.EXPLOSION_PARTICLE_LIFESPAN); break; case ParticleEmitterType.stream: spawnedParticleEmitter = new StreamParticleEmitter(ContentLoader.CloudParticleTexture, location, Settings.SMOKE_PARTICLE_ACCELERATION, Settings.SMOKE_PARTICLE_SIZE, Settings.SMOKE_PARTICLE_GROWTH_RATE, Settings.SMOKE_PARTICLE_LIFESPAN, Settings.SMOKE_PARTICLE_PARTICLES_PER_SECOND); break; } if (spawnedParticleEmitter != null) { managedParticleEmitters.Add(spawnedParticleEmitter); } return spawnedParticleEmitter; }
/// <summary> /// Creates a PlaneSmokeTrail at the given locaiton. /// </summary> /// <param name="location">Location of the PlaneSmokeTrail</param> public PlaneSmokeTrail(Vector3 location) : base(location, Vector3.Empty, Vector3.Empty) { streamParticleEmitter = (StreamParticleEmitter)ParticleEmitterManager.spawnParticleEmitter(ParticleEmitterType.stream, location); }