public void BumpHiddenBlockTransition() { if (Bumping) { return; } BlockState.NewTransition(this); Sprite.Display = true; BlockState.BumpTransition(this); Bumping = true; }
public override void Update(GameTime gameTime) { Sprite.Update(gameTime); if (Location.Y <= OriginalLocation.Y - 30 && BlockState is BumpQuestionBlockState) { Sprite.Velocity *= new Vector2(1, -1); if (Sprite.CurrentLocation.Y < OriginalLocation.Y - 30) { Sprite.CurrentLocation = new Vector2(Sprite.CurrentLocation.X, OriginalLocation.Y - 30); } } else if (Location.Y >= OriginalLocation.Y && BlockState is BumpQuestionBlockState) { Sprite.Velocity *= new Vector2(1, Constants.ZERO); if (Sprite.CurrentLocation.Y > OriginalLocation.Y) { Sprite.CurrentLocation = new Vector2(Sprite.CurrentLocation.X, OriginalLocation.Y); } BlockState.NewTransition(this); } }