public override void Update() { if (1 == 1) { rectangle = new Rectangle((int)(position.X - width / 2), (int)(position.Y - height / 2), (int)width, (int)height); position.Y += gravity; List <Platform> platforms = GameManager.platforms; for (int i = 0; i < platforms.Count; i++) { Rectangle obs = platforms[i].Rectangle; Helper.Collision collision = Helper.RectRectExtended(rectangle, obs); if (collision == Helper.Collision.Bottom) { position.Y = obs.Top - width / 2; isGrounded = true; } } } if (Helper.RectRect(rectangle, GameManager.player.Rectangle)) { OnPlayerPickup(); isDead = true; } }
public override void Update() { if (!placed) { rectangle = new Rectangle((int)(position.X - width / 2), (int)(position.Y - height / 2), width, height); position.Y += gravity; position += velocity * GameManager.DeltaTime; List <Platform> platforms = GameManager.platforms; for (int i = 0; i < platforms.Count; i++) { Helper.Collision collision = Helper.RectangleCollision(rectangle, platforms[i].Rectangle); if (collision == Helper.Collision.Bottom) { velocity.Y = 0; placed = true; position.Y = platforms[i].Rectangle.Top - height / 2; } } } lifetime -= GameManager.DeltaTime; if (lifetime <= 0) { isDead = true; } animation.Update(GameManager.gameTime); }