private void MoveKoopas() { koopaOne.SetPosition(new Vector2(koopaOne.Location.X - side.Collision.Width / 2, koopaOne.Location.Y)); koopaTwo.SetPosition(new Vector2(koopaTwo.Location.X + side.Collision.Width / 2, koopaTwo.Location.Y)); }
public void UpdatePosition() { if (YVelocity > PhysicsUtilites.GlobalGravityCoef * 3 && Koopa is RedKoopa && Koopa.Health == KoopaStateMachine.KoopaHealth.Normal) { YVelocity = 0; float x = (float)(.6 * (XVelocity / XVelocity)) + Koopa.Location.X; Koopa.SetPosition(new Vector2(x, Koopa.Location.Y)); Koopa.ChangeDirection(); } PhysicsUtilites.ClampVelocity((IPhysics)this); double xPos = (int)Koopa.Location.X; double yPos = (int)Koopa.Location.Y; xPos += Math.Round(XVelocity); yPos += Math.Round(YVelocity); Vector2 pos = ClampPosition(xPos, yPos); Koopa.Location = pos; Koopa.DestinationRectangle = new Rectangle((int)pos.X, (int)pos.Y, Koopa.DestinationRectangle.Width, Koopa.DestinationRectangle.Height); XVelocity = XVelocity; YVelocity += GravityCoef; }
public void Execute() { Mario.marioCanTransition = false; Mario.marioCanTransitionLeftPipe = false; if (Mario is StarMario) { Koopa.KillKoopa(); Game.RumbleHelper.Rumble(PlayerIndex.One, Game.RumbleHelper.LowRumble, Game.RumbleHelper.LowRumble, Game.RumbleHelper.QuickRumble); } else { if (Koopa.Health == KoopaStateMachine.KoopaHealth.Shelled) { if (!Koopa.Physics.IsMovingX()) { MarioSoundBoard.Instance.PlayMarioKick(); Koopa.Physics.XVelocity = Koopa.Physics.XMinVelocity; Vector2 loc = Koopa.Location; loc.X -= Side.Collision.Width; Koopa.SetPosition(loc); Game.RumbleHelper.Rumble(PlayerIndex.One, Game.RumbleHelper.LowRumble, Game.RumbleHelper.LowRumble, Game.RumbleHelper.QuickRumble); } else { Mario.TakeDamage(); Game.RumbleHelper.Rumble(PlayerIndex.One, Game.RumbleHelper.MidRumble, Game.RumbleHelper.MidRumble, Game.RumbleHelper.ShortRumble); } } else { Mario.TakeDamage(); Game.RumbleHelper.Rumble(PlayerIndex.One, Game.RumbleHelper.MidRumble, Game.RumbleHelper.MidRumble, Game.RumbleHelper.ShortRumble); } } }
private void MoveEnemies() { Goomba.SetPosition(new Vector2(Goomba.Location.X - Side.Collision.Width / 2, Goomba.Location.Y)); Koopa.SetPosition(new Vector2(Koopa.Location.X + Side.Collision.Width / 2, Koopa.Location.Y)); }
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(); } }
private void StackEnemies() { Koopa.Physics.YVelocity = 0; Koopa.SetPosition(new Vector2(Koopa.Location.X, Koopa.Location.Y - Side.Collision.Height)); }