示例#1
0
        /// <summary>
        /// Updates the status of the controller.
        /// </summary>
        public static void Update()
        {
            RefreshControllers();

            if (ConnectedControllers.ContainsKey(activeControllerGuid))
            {
                if (ControllerModel == ControllerModels.Unknown)
                {
                    ControllerModel = GetControllerModel(activeControllerGuid, Joystick.GetCapabilities(ConnectedControllers[activeControllerGuid]));
                }
                IsControllerConnected = Joystick.GetState(ConnectedControllers[activeControllerGuid]).IsConnected;
                if (IsControllerConnected)
                {
                    // A valid controller is connected, get input
                    GetInput();
                }
            }
        }
示例#2
0
 /// <summary>
 /// Refreshes the connected controllers.
 /// </summary>
 public static void RefreshControllers()
 {
     for (int i = 0; i < 10; i++)
     {
         Guid guid = Joystick.GetGuid(i);
         if (!ConnectedControllers.ContainsKey(guid))
         {
             // New controller
             JoystickCapabilities capabilities = Joystick.GetCapabilities(i);
             ControllerModels     model        = GetControllerModel(guid, capabilities);
             if (Joystick.GetState(i).IsConnected&& model != ControllerModels.Unsupported)
             {
                 ConnectedControllers.Add(guid, i);
             }
         }
         else
         {
             // Update the controller index
             ConnectedControllers[guid] = i;
         }
     }
 }