/// <summary> /// Sends player input /// </summary> /// <param name="input">The input combination to send</param> public void SendMovementInput(Input input) { double speedX = 0, speedY = 0; int horizontal = 0, vertical = 0; WorldPlayer me = Me; if ((input & Input.HoldSpace) != 0) { if (me.SpeedX == 0 && !Physics.ApproachingZero(me.m_morx) && !Physics.ApproachingZero(me.m_mox) && me.X % 16 == 0) { speedX = (me.SpeedX - (me.m_morx * PhysicsEngine.JumpHeight)); } if (me.SpeedY == 0 && !Physics.ApproachingZero(me.m_mory) && !Physics.ApproachingZero(me.m_moy) && me.Y % 16 == 0) { speedY = (me.SpeedY - (me.m_mory * PhysicsEngine.JumpHeight)); } } horizontal = Convert.ToInt32((input & Input.HoldLeft) != 0) + Convert.ToInt32((input & Input.HoldRight) != 0); vertical = Convert.ToInt32((input & Input.HoldUp) != 0) + Convert.ToInt32((input & Input.HoldDown) != 0); SendMovement(me.X, me.Y, speedX, speedY, me.ModifierX, me.ModifierY, horizontal, vertical, false); }