mirror of
https://github.com/borgesdan/xn65
synced 2024-12-29 21:54:47 +01:00
Implementa GamePadId
This commit is contained in:
parent
704f17c26b
commit
1a521799f9
@ -38,10 +38,12 @@ namespace xna {
|
|||||||
virtual ButtonState BigButton() const = 0;
|
virtual ButtonState BigButton() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct GamePadId;
|
||||||
|
|
||||||
struct IGamePadCapabilities {
|
struct IGamePadCapabilities {
|
||||||
virtual GamePadCapabilitiesType GamePadType() const = 0;
|
virtual GamePadCapabilitiesType GamePadType() const = 0;
|
||||||
virtual bool IsConnected() const = 0;
|
virtual bool IsConnected() const = 0;
|
||||||
virtual String Id() const = 0;
|
virtual GamePadId Id() const = 0;
|
||||||
virtual Ushort Vid() const = 0;
|
virtual Ushort Vid() const = 0;
|
||||||
virtual Ushort Pid() const = 0;
|
virtual Ushort Pid() const = 0;
|
||||||
};
|
};
|
||||||
|
@ -208,13 +208,23 @@ namespace xna {
|
|||||||
ButtonState _bigButton{};
|
ButtonState _bigButton{};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct GamePadId {
|
||||||
|
#ifdef USING_GAMEINPUT
|
||||||
|
APP_LOCAL_DEVICE_ID id;
|
||||||
|
#elif defined(USING_WINDOWS_GAMING_INPUT)
|
||||||
|
std::wstring id;
|
||||||
|
#else
|
||||||
|
uint64_t id;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
struct GamePadCapabilities : public IGamePadCapabilities {
|
struct GamePadCapabilities : public IGamePadCapabilities {
|
||||||
constexpr GamePadCapabilities() = default;
|
constexpr GamePadCapabilities() = default;
|
||||||
|
|
||||||
constexpr GamePadCapabilities(DirectX::GamePad::Capabilities const& capabilities) {
|
constexpr GamePadCapabilities(DirectX::GamePad::Capabilities const& capabilities) {
|
||||||
_type = static_cast<GamePadCapabilitiesType>(capabilities.gamepadType);
|
_type = static_cast<GamePadCapabilitiesType>(capabilities.gamepadType);
|
||||||
_connected = capabilities.connected;
|
_connected = capabilities.connected;
|
||||||
_id = capabilities.id;
|
_id.id = capabilities.id;
|
||||||
_vid = capabilities.vid;
|
_vid = capabilities.vid;
|
||||||
_pid = capabilities.pid;
|
_pid = capabilities.pid;
|
||||||
}
|
}
|
||||||
@ -227,8 +237,8 @@ namespace xna {
|
|||||||
return _connected;
|
return _connected;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual String Id() const override {
|
virtual GamePadId Id() const override {
|
||||||
return XnaHToString(_id);
|
return _id;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual constexpr Ushort Vid() const override {
|
virtual constexpr Ushort Vid() const override {
|
||||||
@ -242,7 +252,7 @@ namespace xna {
|
|||||||
private:
|
private:
|
||||||
GamePadCapabilitiesType _type{};
|
GamePadCapabilitiesType _type{};
|
||||||
bool _connected{ false };
|
bool _connected{ false };
|
||||||
std::wstring _id{ 0 };
|
GamePadId _id{ 0 };
|
||||||
Ushort _vid{ 0 };
|
Ushort _vid{ 0 };
|
||||||
Ushort _pid{ 0 };
|
Ushort _pid{ 0 };
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user