public void Update(GameTime gameTime, List<Barrier> barriers, SuperPj pj) { switch (direction) { case 0: sprite.Position.X += speed; break; case 1: sprite.Position.X += -speed; break; case 2: sprite.Position.Y += -speed; break; case 3: sprite.Position.Y += +speed; break; default: sprite.Position.X = 0; sprite.Position.Y = 0; break; } // Console.WriteLine(lifeTime.Elapsed.TotalSeconds); if (lifeTime.Elapsed.TotalSeconds >= spawnDuration.TotalSeconds) { Active = false; lifeTime.Stop(); } UpdateCollisionBarriers(barriers); if(pj.Active) UpdateCollisionPj(pj); sprite.Update(gameTime); }
public void UpdateCollisionPj(SuperPj pj) { Rectangle projectileBounds; Rectangle pjBounds; projectileBounds = new Rectangle((int)sprite.Position.X, (int)sprite.Position.Y, sprite.FrameWidth, sprite.FrameHeight); pjBounds = new Rectangle((int)pj.Position.X, (int)pj.Position.Y, pj.character.Width, pj.character.Height); if (projectileBounds.Intersects(pjBounds)) { pj.Health -= Damage; Active = false; } }