public override void SimulateController()
        {
            input           = CmdPlayerMovement.Create();
            input.Direction = directionInput;
            input.JumpFlag  = jumpFlag;

            entity.QueueInput(input);

            ResetInputs();
        }
        public override void ExecuteCommand(Command command, bool resetState)
        {
            if (!command.IsFirstExecution)
            {
                return;
            }

            inputCommand = command as CmdPlayerMovement;

            if (inputCommand && !resetState)
            {
                UpdateFrameVelocity();

                motorState = Motor.Move(frameVelocity, BoltNetwork.frameDeltaTime);

                if (motorState.CollidingAboveOrBelow)
                {
                    frameVelocity.y = 0;
                }

                inputCommand.Result.Velocity = motorState.Velocity;
            }
        }