public void Update(GameTime gameTime) { StarFactory.Update(gameTime, _tunnel, Scene, _player); BombFactory.Update(gameTime, _tunnel, Scene, _player); ExplosionParticles.Update(gameTime); FireParticles.Update(gameTime); SmokeParticles.Update(gameTime); StarsParticles.Update(gameTime); }
public void DrawParticles(GameTime gametime) { SmokeParticles.SetCamera(_camera.View, _camera.Projection); SmokeParticles.Draw(gametime); ExplosionParticles.SetCamera(_camera.View, _camera.Projection); ExplosionParticles.Draw(gametime); FireParticles.SetCamera(_camera.View, _camera.Projection); FireParticles.Draw(gametime); StarsParticles.SetCamera(_camera.View, _camera.Projection); StarsParticles.Draw(gametime); }
public void Update(GameTime gameTime) { StarFactory.Update(gameTime, _tunnel, Scene, _player); BombFactory.Update(gameTime, _tunnel, Scene, _player); // Log the position for the analysis LoopGame.Instance.GameObjects.TryUpdate("PlayerPosition", new Vector3(_player.Angle, Globals.Lives, Globals.TotalScore)); ExplosionParticles.Update(gameTime); FireParticles.Update(gameTime); SmokeParticles.Update(gameTime); StarsParticles.Update(gameTime); }
public void Explode() { if (Exploded) { return; } Exploded = true; ExplosionParticles.Play(true); SparkleParticles.Stop(); Astronaut plr = Astronaut.TheAstronaut; Am.am.oneshot(Am.am.M.VoidFireBallExplosion); //if (Alive && !isStunned()) //{ Vector3 dif = (this.transform.position - plr.transform.position); float sc = 1f; float radius = BlastRadius;//(2f * sc);//*pre float dist = (dif.magnitude / radius); if (dist < 1f) { //if ((Time.time - plr.lastDamageTakenTime) >= 1.5f) //{ Vector3 diff = (plr.transform.position - this.transform.position); float df = (1f - dist); //df = Mathf.Pow(df, 1f/(1f + (1f * Astronaut.AggressionLevelF))); if (plr.TakeDamage(20f * df, new Vector3(0f, plr.JumpSpeed * .25f * df, 0f))) { } Am.am.oneshot(Am.am.M.LavaBurn); //} } //} Remove(); }