/// <summary> /// Creates a SoundEmitter object based on the params /// </summary> /// <param name="parms">SoundEmitterParams object</param> public SoundEmitter(SoundEmitterParams parms) { this.pan = parms.Pan; this.pitch = parms.Pitch; this.EmittRadius = parms.EmittRadius; this.Position = parms.Position; this.sfxEngine = parms.SFXEngine; this.lastKnownListenersPositions = parms.ListenerPositions; }
public Wall(ContentManager content, Vector2 position) : base(content) { Texture2D texture = null; texture = LoadingUtils.load <Texture2D>(content, "Fence"); StaticDrawable2DParams wallParams = new StaticDrawable2DParams { Position = position, Texture = texture, Scale = new Vector2(.5f), Origin = new Vector2(Constants.TILE_SIZE) }; this.idleImage = new StaticDrawable2D(wallParams); Animated2DSpriteLoadSingleRowBasedOnTexture parms = new Animated2DSpriteLoadSingleRowBasedOnTexture(); BaseAnimationManagerParams animationParms = new BaseAnimationManagerParams(); animationParms.AnimationState = AnimationState.PlayForwardOnce; animationParms.FrameRate = 100f; animationParms.TotalFrameCount = 3; parms.Position = position; parms.Scale = new Vector2(.25f); parms.Texture = LoadingUtils.load <Texture2D>(content, "FenceOpening"); parms.Origin = new Vector2(Constants.TILE_SIZE); parms.AnimationParams = animationParms; this.spawnSprite = new Animated2DSprite(parms); base.init(spawnSprite); BaseParticle2DEmitterParams emitterParams = new BaseParticle2DEmitterParams() { ParticleTexture = LoadingUtils.load <Texture2D>(content, "Dust"), }; this.dustEmitter = new DustParticleEmitter(emitterParams, base.Position); for (int i = 0; i < 5; i++) { this.dustEmitter.createParticle(); } this.crumpleSFX = LoadingUtils.load <SoundEffect>(content, SFX_NAME_CRUMPLE); SoundEmitterParams sfxEmitterParms = new SoundEmitterParams { SFXEngine = SoundManager.getInstance().SFXEngine, EmittRadius = SFX_EMITT_RADIUS, Position = this.spawnSprite.Position }; this.sfxEmitter = new SoundEmitter(sfxEmitterParms); SoundManager.getInstance().addEmitter(this.sfxEmitter); SoundManager.getInstance().playSoundEffect(this.sfxEmitter, this.crumpleSFX); this.stage = Stage.Opening; }
public Food(ContentManager content, Random rand, int points, float speedMultiplier, List <string> dyingCharacterTextureNames, string deathParticleTextureName, string idleTextureName, string spawnTextureName, string spawnSFXName, string idleSFXName, string dyingSFXName, float spawnPositionYOffset = 0f) : base(content) { this.Points = points; this.SpeedMultiplier = speedMultiplier; this.LifeStage = Stage.Spawn; this.dyingCharacterTextures = new List <Texture2D>(); foreach (string texture in dyingCharacterTextureNames) { this.dyingCharacterTextures.Add(LoadingUtils.load <Texture2D>(content, texture)); } this.deathParticleTexture = LoadingUtils.load <Texture2D>(content, deathParticleTextureName); Animated2DSpriteLoadSingleRowBasedOnTexture parms = new Animated2DSpriteLoadSingleRowBasedOnTexture(); BaseAnimationManagerParams animationParms = new BaseAnimationManagerParams(); animationParms.AnimationState = AnimationState.PlayForward; animationParms.FrameRate = 100f; animationParms.TotalFrameCount = 4; parms.Position = PositionGenerator.getInstance().generateSpawn(); parms.Texture = LoadingUtils.load <Texture2D>(content, idleTextureName); parms.Scale = new Vector2(.5f); parms.Origin = new Vector2(Constants.TILE_SIZE); parms.AnimationParams = animationParms; this.idleSprite = new Animated2DSprite(parms); animationParms.AnimationState = AnimationState.PlayForwardOnce; parms.AnimationParams = animationParms; parms.Texture = LoadingUtils.load <Texture2D>(content, spawnTextureName); parms.Scale = new Vector2(1f); parms.Position = new Vector2(parms.Position.X, parms.Position.Y + spawnPositionYOffset); this.spawnSprite = new Animated2DSprite(parms); base.init(this.spawnSprite); this.spawnSFX = LoadingUtils.load <SoundEffect>(content, spawnSFXName); this.idleSFX = LoadingUtils.load <SoundEffect>(content, idleSFXName); this.dyingSFX = LoadingUtils.load <SoundEffect>(content, dyingSFXName); SoundEmitterParams sfxEmitterParms = new SoundEmitterParams { SFXEngine = SoundManager.getInstance().SFXEngine, EmittRadius = SFX_EMITT_RADIUS, Position = this.spawnSprite.Position }; this.sfxEmitter = new SoundEmitter(sfxEmitterParms); SoundManager.getInstance().addEmitter(this.sfxEmitter); }
public ConstantSpeedParticleEmitter(BaseParticle2DEmitterParams parms, Vector2 position, Vector2 origin, SoundEffect idleSFX, float emittRadius, bool sway = true) : base(parms) { this.position = position; this.origin = origin; this.sway = sway; this.idleSFX = idleSFX; SoundEmitterParams sfxEmitterParms = new SoundEmitterParams { EmittRadius = emittRadius, Position = this.position, SFXEngine = SoundManager.getInstance().SFXEngine }; this.sfxEmitter = new SoundEmitter(sfxEmitterParms); SoundManager.getInstance().addEmitter(this.sfxEmitter); }
public Portal(ContentManager content, Random rand) : base(content) { this.lifeStage = Stage.Spawn; Animated2DSpriteLoadSingleRowBasedOnTexture parms = new Animated2DSpriteLoadSingleRowBasedOnTexture(); BaseAnimationManagerParams animationParms = new BaseAnimationManagerParams(); animationParms.AnimationState = AnimationState.PlayForward; animationParms.FrameRate = 100f; animationParms.TotalFrameCount = 7; parms.Position = PositionGenerator.getInstance().generateSpawn(); parms.Texture = LoadingUtils.load <Texture2D>(content, "PortalOpen"); parms.Origin = new Vector2(Constants.TILE_SIZE); parms.AnimationParams = animationParms; this.idleSprite = new Animated2DSprite(parms); animationParms.AnimationState = AnimationState.PlayForwardOnce; animationParms.TotalFrameCount = 6; parms.AnimationParams = animationParms; parms.Texture = LoadingUtils.load <Texture2D>(content, "PortalSpawn"); parms.Position = new Vector2(parms.Position.X, parms.Position.Y); this.spawnSprite = new Animated2DSprite(parms); base.init(this.spawnSprite); BaseParticle2DEmitterParams emitterParams = new BaseParticle2DEmitterParams { ParticleTexture = LoadingUtils.load <Texture2D>(content, "Lightning"), SpawnDelay = 500f }; this.lightningEmitter = new LightningParticleEmitter(emitterParams, parms.Position); this.spawnSFX = LoadingUtils.load <SoundEffect>(content, SPAWN_SFX_NAME); this.idleSFX = LoadingUtils.load <SoundEffect>(content, IDLE_SFX_NAME); this.closingSFX = LoadingUtils.load <SoundEffect>(content, CLOSING_SFX_NAME); SoundEmitterParams sfxEmitterParms = new SoundEmitterParams { SFXEngine = SoundManager.getInstance().SFXEngine, EmittRadius = SFX_EMITT_RADIUS, Position = this.spawnSprite.Position }; this.sfxEmitter = new SoundEmitter(sfxEmitterParms); SoundManager.getInstance().addEmitter(this.sfxEmitter); SoundManager.getInstance().playSoundEffect(this.sfxEmitter, this.spawnSFX); }