public override void createParticle()
        {
            int nextIndex = -1;

            do
            {
                nextIndex = RANDOM.Next(this.SPAWN_LOCATIONS.Length);
            } while (this.lastUsedIndex == nextIndex);
            this.lastUsedIndex           = nextIndex;
            base.particleParams.Position = this.SPAWN_LOCATIONS[this.lastUsedIndex];
            ConstantSpeedParticle     particle    = new ConstantSpeedParticle(base.particleParams);
            ScaleOverTimeEffectParams effectParms = new ScaleOverTimeEffectParams {
                Reference = particle,
                ScaleBy   = new Vector2(1f)
            };

            particle.addEffect(new ScaleOverTimeEffect(effectParms));
            RotateOverTimeEffectParams rotateEffectParms = new RotateOverTimeEffectParams {
                Reference = particle,
                RotateBy  = 2f
            };

            particle.addEffect(new RotateOverTimeEffect(rotateEffectParms));
            FadeEffectParams fadeEffectParms = new FadeEffectParams {
                Reference           = particle,
                State               = FadeEffect.FadeState.Out,
                TotalTransitionTime = TIME_TO_LIVE,
                OriginalColour      = COLOUR
            };

            particle.addEffect(new FadeEffect(fadeEffectParms));

            base.particles.Add(particle);
            base.createParticle();
        }
Example #2
0
        public override void createParticle()
        {
            SmokeParticle             particle         = new SmokeParticle(base.particleParams);
            ScaleOverTimeEffectParams scaleEffectParms = new ScaleOverTimeEffectParams {
                Reference = particle,
                ScaleBy   = new Vector2(.1f, .075f)
            };

            particle.addEffect(new ScaleOverTimeEffect(scaleEffectParms));
            RotateOverTimeEffectParams rotateEffectParms = new RotateOverTimeEffectParams {
                Reference = particle,
                RotateBy  = 2f
            };

            particle.addEffect(new RotateOverTimeEffect(rotateEffectParms));
            FadeEffectParams fadeEffectParms = new FadeEffectParams {
                Reference           = particle,
                State               = FadeEffect.FadeState.Out,
                TotalTransitionTime = TIME_TO_LIVE,
                OriginalColour      = Color.Black
            };

            particle.addEffect(new FadeEffect(fadeEffectParms));

            base.particles.Add(particle);
            base.createParticle();
        }
Example #3
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            Constants.FONT = LoadingUtils.load <SpriteFont>(Content, "SpriteFont1");
            GameStateMachine.getInstance().init(GraphicsDevice, Content);
            SoundManager.getInstance().init(Content);

            this.fadeParams = new FadeEffectParams {
                OriginalColour      = Color.Black,
                State               = FadeEffect.FadeState.Out,
                TotalTransitionTime = TRANSITION_TIME
            };
            this.fadeEffect = new FadeEffect(fadeParams);

            StaticDrawable2DParams transitionParms = new StaticDrawable2DParams {
                Texture     = LoadingUtils.load <Texture2D>(Content, "Chip"),
                Scale       = new Vector2(Constants.RESOLUTION_X, Constants.RESOLUTION_Y),
                LightColour = Color.Black
            };

            this.transitionItem = new StaticDrawable2D(transitionParms);
            this.transitionItem.addEffect(this.fadeEffect);

#if WINDOWS
#if DEBUG
            ScriptManager.getInstance().LogFile = "Log.log";
            ScriptManager.getInstance().registerObject(MapEditor.getInstance(), "editor");
            Debug.debugChip = LoadingUtils.load <Texture2D>(Content, "Chip");
            Debug.debugRing = TextureUtils.create2DRingTexture(GraphicsDevice, (int)Constants.BOUNDING_SPHERE_SIZE, Color.White);
#endif
#endif
        }
Example #4
0
 /// <summary>
 /// Constructs a FadeEffect object
 /// </summary>
 /// <param name="parms">FadeEffectParms object</param>
 public FadeEffect(FadeEffectParams parms) : base(parms)
 {
     this.State = parms.State;
     this.TotalTransitionTime   = parms.TotalTransitionTime;
     this.ElapsedTransitionTime = 0f;
     this.OriginalColour        = parms.OriginalColour;
     if (parms.GetType().Equals(typeof(PartialFadeEffectParams)))
     {
         PartialFadeEffectParams partialParams = (PartialFadeEffectParams)parms;
         this.AlphaAmount = partialParams.AlphaAmount;
     }
 }
        public override void createParticle()
        {
            int   positionX = this.RANDOM.Next(MAX_RANGE_FROM_EMITTER);
            int   positionY = this.RANDOM.Next(MAX_RANGE_FROM_EMITTER);
            int   directionX = this.RANDOM.Next(2);
            int   directionY = this.RANDOM.Next(2);
            float x, y;

            if (directionX == 0)
            {
                x = PlayerPosition.X + positionX;
            }
            else
            {
                x = PlayerPosition.X - positionX;
            }

            if (directionY == 0)
            {
                y = PlayerPosition.Y + positionY;
            }
            else
            {
                y = PlayerPosition.Y - positionY;
            }

            base.particleParams.Position = new Vector2(x, y);
            BaseParticle2D            particle = new BaseParticle2D(base.particleParams);
            ScaleOverTimeEffectParams effectParms = new ScaleOverTimeEffectParams {
                Reference = particle,
                ScaleBy   = new Vector2(.5f)
            };

            particle.addEffect(new ScaleOverTimeEffect(effectParms));
            RotateOverTimeEffectParams rotateEffectParms = new RotateOverTimeEffectParams {
                Reference = particle,
                RotateBy  = 2f
            };

            particle.addEffect(new RotateOverTimeEffect(rotateEffectParms));
            FadeEffectParams fadeEffectParms = new FadeEffectParams {
                Reference           = particle,
                State               = FadeEffect.FadeState.Out,
                TotalTransitionTime = TIME_TO_LIVE,
                OriginalColour      = COLOUR
            };

            particle.addEffect(new FadeEffect(fadeEffectParms));
            base.particles.Add(particle);
            base.createParticle();
        }
        public override void createParticle()
        {
            int   positionX = base.RANDOM.Next(MAX_RANGE_FROM_EMITTER);
            int   positionY = base.RANDOM.Next(MAX_RANGE_FROM_EMITTER);
            int   directionX = base.RANDOM.Next(2);
            int   directionY = base.RANDOM.Next(2);
            float x, y;

            if (directionX == 0)
            {
                x = this.position.X + positionX;
            }
            else
            {
                x = this.position.X - positionX;
            }

            if (directionY == 0)
            {
                y = this.position.Y + positionY;
            }
            else
            {
                y = this.position.Y - positionY;
            }

            base.particleParams.Scale    = new Vector2(base.RANDOM.Next(MIN_SCALE, MAX_SCALE) / 100f);
            base.particleParams.Position = new Vector2(x, y);
            DeacceleratingParticle particle = new DeacceleratingParticle(base.particleParams);
            FadeEffectParams       effectParms = new FadeEffectParams {
                OriginalColour      = Color.White,
                State               = FadeEffect.FadeState.Out,
                TotalTransitionTime = Constants.DEATH_DURATION
            };

            particle.addEffect(new FadeEffect(effectParms));
            base.particles.Add(particle);
            base.createParticle();
        }
Example #7
0
        public void createParticle(Vector2 position)
        {
            base.particleParams.Position = position;
            SmokeParticle             particle    = new SmokeParticle(base.particleParams);
            ScaleOverTimeEffectParams effectParms = new ScaleOverTimeEffectParams {
                Reference = particle,
                ScaleBy   = new Vector2(1f)
            };

            particle.addEffect(new ScaleOverTimeEffect(effectParms));

            FadeEffectParams fadeEffectParms = new FadeEffectParams {
                Reference           = particle,
                State               = FadeEffect.FadeState.Out,
                TotalTransitionTime = TIME_TO_LIVE,
                OriginalColour      = Color.White
            };

            particle.addEffect(new FadeEffect(fadeEffectParms));

            base.particles.Add(particle);
            base.createParticle();
        }
        public DeathParticleEmitter(BaseParticle2DEmitterParams parms, Vector2 position, Vector2 heading, List <Texture2D> characterTextures)
            : base(parms)
        {
            this.position = position;
            BaseParticle2DParams particleParms = new BaseParticle2DParams();

            particleParms.TimeToLive   = 350;
            particleParms.Acceleration = new Vector2(100f);
            particleParms.Direction    = heading;
            particleParms.Origin       = new Vector2(Constants.TILE_SIZE);
            particleParms.Texture      = parms.ParticleTexture;
            base.particleParams        = particleParms;

            // create additional effects
            for (int i = 0; i < 20; i++)
            {
                createParticle();
            }

            particleParms.Scale    = new Vector2(.5f);
            particleParms.Position = position;
            FadeEffectParams       effectParms = null;
            DeacceleratingParticle particle    = null;

            foreach (Texture2D texture in characterTextures)
            {
                particleParms.Texture = texture;
                particle    = new DeacceleratingParticle(particleParms);
                effectParms = new FadeEffectParams {
                    OriginalColour      = Color.White,
                    State               = FadeEffect.FadeState.Out,
                    TotalTransitionTime = Constants.DEATH_DURATION
                };
                particle.addEffect(new FadeEffect(effectParms));
                base.particles.Add(particle);
            }
        }
Example #9
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            SoundManager.getInstance().init(Content);
            IOHelper.loadConfiguration(IOHelper.getConfiguration());

            this.cinematic   = new Cinematic(Content);
            this.mainMenu    = new MainMenu(Content);
            this.optionsMenu = new OptionsMenu(Content);

            this.fadeParams = new FadeEffectParams {
                OriginalColour      = Color.Black,
                State               = FadeEffect.FadeState.Out,
                TotalTransitionTime = TRANSITION_TIME
            };
            this.fadeEffect = new FadeEffect(fadeParams);

            StaticDrawable2DParams transitionParms = new StaticDrawable2DParams {
                Texture     = LoadingUtils.load <Texture2D>(Content, "Chip"),
                Scale       = new Vector2(Constants.RESOLUTION_X, Constants.RESOLUTION_Y),
                LightColour = Color.Black
            };

            this.transitionItem = new StaticDrawable2D(transitionParms);
            this.transitionItem.addEffect(this.fadeEffect);

#if WINDOWS
#if DEBUG
            ScriptManager.getInstance().LogFile = "Log.log";
            if (StateManager.getInstance().CurrentGameState == GameState.Active || StateManager.getInstance().CurrentGameState == GameState.Waiting ||
                StateManager.getInstance().CurrentGameState == GameState.GameOver)
            {
                this.gameDisplay = new GameDisplay(GraphicsDevice, Content);
            }
#endif
#endif
        }