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(); }
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(); }
/// <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 }
/// <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(); }
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); } }
/// <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 }