/// <summary> /// コントローラーの現在の状態を取得します。 /// </summary> /// <returns>現在の状態</returns> public XInputState GetState() { if (!IsConected(Number)) { throw new NotSupportedException("接続が切れた可能性があります"); } var i = new XInputState(); XInputGetState(Number, out i); packetnum = i.PacketNumber; return(i); }
/// <summary> /// 指定されたコントローラー番号は接続されているかチェックします。 /// </summary> /// <param name="num">コントローラー番号</param> /// <returns>接続されている場合はtrue</returns> public static bool IsConected(uint num) { var s = new XInputState(); if (num >= 4) { throw new ArgumentOutOfRangeException("コントローラー番号に4以上は指定できません。"); } //0x48FはERROR_DEVICE_NOT_CONNECTED if (XInputGetState(num, out s) == 0x48F) { return(false); } else { return(true); } }
static extern uint XInputGetState(uint num, out XInputState state);
static extern uint XInputGetKeystroke(uint num, uint fetch, out XInputState stroke);
/// <summary> /// コントローラーの現在の状態を取得します。 /// </summary> /// <returns>現在の状態</returns> public XInputState GetState() { if (!IsConected(Number)) throw new NotSupportedException("接続が切れた可能性があります"); var i = new XInputState(); XInputGetState(Number, out i); packetnum = i.PacketNumber; return i; }
/// <summary> /// 指定されたコントローラー番号は接続されているかチェックします。 /// </summary> /// <param name="num">コントローラー番号</param> /// <returns>接続されている場合はtrue</returns> public static bool IsConected(uint num) { var s = new XInputState(); if (num >= 4) throw new ArgumentOutOfRangeException("コントローラー番号に4以上は指定できません。"); //0x48FはERROR_DEVICE_NOT_CONNECTED if (XInputGetState(num, out s) == 0x48F) { return false; } else { return true; } }
extern static uint XInputGetState(uint num, out XInputState state);
extern static uint XInputGetKeystroke(uint num, uint fetch, out XInputState stroke);