public static OverworldExplosion GenerateOverworldExplosion(Game1 game, Sprite spriteSheet, GameObjectOverworld source) { float size = 20; float fragmentSpeed = 0.4f; int lifeTime = 15; int nbrParticlesBase = 50; OverworldExplosion tempExplosion = new OverworldExplosion(game, spriteSheet); int nbrParticles = random.Next(nbrParticlesBase, nbrParticlesBase + (int)(nbrParticlesBase * 0.5)); tempExplosion.GenerateAbsoluteExplosion(game, spriteSheet, source, nbrParticles, size, randomDir: true, speed: 0, fragmentDur: lifeTime, fragmentSpeed: fragmentSpeed); return(tempExplosion); }
public static OverworldExplosion GenerateSpaceDuckExplosion(Game1 game, Sprite spriteSheet, GameObjectOverworld source) { float size = 30; float fragmentSpeedBase = 0.8f; int lifeTime = (int)(30 * (float)(random.NextDouble())); int nbrParticles = 300; OverworldExplosion tempExplosion = new OverworldExplosion(game, spriteSheet); float fragmentSpeed = fragmentSpeedBase + (float)(random.NextDouble()) * fragmentSpeedBase; tempExplosion.GenerateAbsoluteExplosion(game, spriteSheet, source, nbrParticles, size, randomDir: true, speed: fragmentSpeed, fragmentDur: lifeTime, fragmentSpeed: fragmentSpeed); game.soundEffectsManager.PlaySoundEffect(source.getDeathSoundID(), source.SoundPan); return(tempExplosion); }