public void Update(QuestionBlock context, GameTime gameTime) { if (context.Position.Y + context.Velocity.Y <= context.minY) { context.Velocity = new Vector2(context.Velocity.X, -context.Velocity.Y); if (context.Items.Count > 0) { context.SpawnItem(); // spawn item at peak, so collision isn't messy } } else if (context.Position.Y + context.Velocity.Y >= context.maxY) { if (context.Items.Count == 0) { context.State = new UsedQuestionBlock(); } else { context.State = new IdleQuestionBlock(); } } }
public void Bump(QuestionBlock context) { context.Velocity = new Vector2(context.Velocity.X, -1); context.State = new BumpedQuestionBlock(); }
public void Update(QuestionBlock context, GameTime gameTime) { context.Velocity = Vector2.Zero; }
public void Bump(QuestionBlock context) { }