194 GameInput(GameController c, GameButton b)
200 GameController controller{ GameController_Invalid };
201 GameButton button{ GameButton_Invalid };
203 auto operator==(
const GameInput& other)
const ->
bool
205 return controller == other.controller && button == other.button;
207 auto operator<(
const GameInput& other)
const ->
bool
209 if (controller < other.controller) {
212 if (controller > other.controller) {
215 return button < other.button;
218 [[nodiscard]]
inline auto IsValid()
const ->
bool
220 return controller != GameController_Invalid &&
221 button != GameButton_Invalid;
223 inline void MakeInvalid()
225 controller = GameController_Invalid;
226 button = GameButton_Invalid;
229 auto ToString(
const InputScheme* pInputs)
const -> std::string;
230 auto FromString(
const InputScheme* pInputs,
const std::string& s) -> bool;