Ejemplo n.º 1
0
 /// <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;
 }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }