Ejemplo n.º 1
0
        /// <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);
        }