public Vector2 ClampPosition(double xPos, double yPos) { if (xPos < MinPosition.X) { Koopa.ChangeDirection(); xPos = MinPosition.X; } if (yPos > MinPosition.Y) { yPos = MinPosition.Y; } else if (yPos < MaxPosition.Y) { yPos = MaxPosition.Y; YVelocity = 0; } return(new Vector2((float)xPos, (float)yPos)); }
public void Execute() { if (Koopa.Health == KoopaStateMachine.KoopaHealth.Shelled && Koopa.Physics.IsMovingX()) { Goomba.BeFlipped(); Game.st.DefeatGoomba(); ScoreAssignments sa = new ScoreAssignments(); Game.UI.DisplayScore(sa.Goomba, Goomba.Location); } else { MoveEnemies(); Koopa.ChangeDirection(); Goomba.ChangeDirection(); } }
public void Execute() { if (!checkForDeadKoopa()) { if (side is Left || side is Right) { MoveKoopas(); koopaOne.ChangeDirection(); koopaTwo.ChangeDirection(); } else { StackKoopas(); } } }
private void Movekoopa() { if (collision.Width > collision.Height) { koopa.SetPosition(new Vector2(koopa.DestinationRectangle.X, koopa.DestinationRectangle.Y - collision.Height)); } else if (collision.Height > collision.Width) { if (side.BottomOrRight is IKoopa) { koopa.SetPosition(koopa.Location = new Vector2(koopa.DestinationRectangle.X + collision.Width, koopa.DestinationRectangle.Y)); } else { koopa.SetPosition(new Vector2(koopa.DestinationRectangle.X - collision.Width, koopa.DestinationRectangle.Y)); } koopa.ChangeDirection(); } }