mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-14 04:46:09 +00:00
Initial CDolphinController RE
This commit is contained in:
28
Runtime/Input/CControllerGamepadData.hpp
Normal file
28
Runtime/Input/CControllerGamepadData.hpp
Normal file
@@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
|
||||
#include "Runtime/Input/CControllerAxis.hpp"
|
||||
#include "Runtime/Input/CControllerButton.hpp"
|
||||
|
||||
#include <array>
|
||||
|
||||
namespace metaforce {
|
||||
class CControllerGamepadData {
|
||||
bool x0_present;
|
||||
std::array<CControllerAxis, 4> x4_axes;
|
||||
std::array<CControllerAxis, 2> x24_triggers;
|
||||
std::array<CControllerButton, 12> x34_buttons;
|
||||
|
||||
public:
|
||||
void SetDeviceIsPresent(bool present) { x0_present = present; }
|
||||
[[nodiscard]] bool DeviceIsPresent() const { return x0_present; }
|
||||
|
||||
[[nodiscard]] const CControllerAxis& GetAxis(EJoyAxis axis) const { return x4_axes[u32(axis)]; }
|
||||
[[nodiscard]] CControllerAxis& GetAxis(EJoyAxis axis) { return x4_axes[u32(axis)]; }
|
||||
|
||||
[[nodiscard]] const CControllerButton& GetButton(EButton button) const { return x34_buttons[u32(button)]; }
|
||||
[[nodiscard]] CControllerButton& GetButton(EButton button) { return x34_buttons[u32(button)]; }
|
||||
|
||||
[[nodiscard]] const CControllerAxis& GetAnalogButton(EAnalogButton button) const { return x24_triggers[u32(button)]; }
|
||||
[[nodiscard]] CControllerAxis& GetAnalogButton(EAnalogButton button) { return x24_triggers[u32(button)]; }
|
||||
};
|
||||
} // namespace metaforce
|
||||
Reference in New Issue
Block a user