public static ParticleEmitter SpawnToxicEmitter(Texture2D tex, Vector2 position) { ParticleEmitter pe = new ParticleEmitter(tex, position); pe.spawnDelay = 0.05f; pe.spawnTimer = pe.spawnDelay; pe.angleMin = 0; pe.angleMax = 360; pe.speedMin = 50; pe.speedMax = 100; pe.lifetimeMin = 3f; pe.lifetimeMax = 5f; pe.startColor = Color.LimeGreen; pe.endColor = Color.Teal; //pe.endColor.A = 120; pe.startScale = 3f; pe.endScale = 5f; return pe; }
//Factory methods for making a few different emitter types public static ParticleEmitter SpawnSmokeEmitter(Texture2D tex, Vector2 position) { ParticleEmitter pe = new ParticleEmitter(tex, position); pe.spawnDelay = 0.001f; pe.spawnTimer = pe.spawnDelay; pe.angleMax = 120; pe.angleMin = 60; pe.speedMin = 90; pe.speedMax = 150; pe.lifetimeMin = 0.6f; pe.lifetimeMax = 1.2f; pe.startColor = Color.White; pe.endColor = Color.Black; //pe.endColor.A = 120; pe.startScale = 0.6f; pe.endScale = 2.0f; pe.acceleration = new Vector2(0, 600); return pe; }
public static ParticleEmitter SpawnShowerEmitter(Texture2D tex, Vector2 position) { ParticleEmitter pe = new ParticleEmitter(tex, position); pe.spawnDelay = 0.0005f; pe.spawnTimer = pe.spawnDelay; pe.angleMin = -135; pe.angleMax = -45; pe.speedMin = 500; pe.speedMax = 800; pe.lifetimeMin = 0.1f; pe.lifetimeMax = 0.3f; pe.startColor = Color.White; pe.endColor = Color.Blue; //pe.endColor.A = 120; pe.startScale = 0.15f; pe.endScale = 0.08f; return pe; }
public static ParticleEmitter SpawnExplosionEmitter(Texture2D tex, Vector2 position) { ParticleEmitter pe = new ParticleEmitter(tex, position); pe.spawnDelay = 0.001f; pe.spawnTimer = pe.spawnDelay; pe.angleMin = 0; pe.angleMax = 360; pe.speedMin = 300; pe.speedMax = 900; pe.lifetimeMin = 0.2f; pe.lifetimeMax = 0.5f; pe.startColor = Color.Yellow; pe.endColor = Color.Red; pe.endColor.A = 120; pe.startScale = 2.5f; pe.endScale = 0.3f; return pe; }
public static ParticleEmitter SpawnFireEmitter(Texture2D tex, Vector2 position) { ParticleEmitter pe = new ParticleEmitter(tex, position); pe.spawnDelay = 0.002f; pe.spawnTimer = pe.spawnDelay; pe.angleMin = 70; pe.angleMax = 110; pe.speedMin = 150; pe.speedMax = 250; pe.lifetimeMin = 0.3f; pe.lifetimeMax = 0.9f; pe.startColor = Color.Yellow; pe.endColor = Color.Red; pe.endColor.A = 50; pe.startScale = 2.5f; pe.endScale = 0.3f; return pe; }
public static ParticleEmitter SpawnGenericProjectileEmitter(Vector2 position) { ParticleEmitter pe = new ParticleEmitter(AssetManager.GetTexture("softparticle"), position); pe.spawnDelay = 0.0002f; pe.spawnTimer = pe.spawnDelay; pe.angleMin = 0; pe.angleMax = 360; pe.speedMin = 40; pe.speedMax = 80; pe.lifetimeMin = 0.05f; pe.lifetimeMax = 0.1f; pe.startColor = Color.Orange; pe.endColor = Color.Maroon; pe.endColor.A = 200; pe.startScale = 0.09f; pe.endScale = 0.03f; return pe; }
public ProjectileEffect(Vector2 position, float time, IAttackable target) { timeLeft = time; this.target = target; emitter = ParticleEmitter.SpawnGenericProjectileEmitter(position); }