11#ifndef INCGUARD_MGL_GAMEPAD_SERVER_H_1609654269
12#define INCGUARD_MGL_GAMEPAD_SERVER_H_1609654269
28class InitializerDelegate;
63 _repeatSetting = repeatSetting;
74 return _repeatSetting;
83 static void OnEventPreFrameUpdate(
void *callbackArg,
void *notifyArg)
noexcept;
85 std::optional<size_t> GetEntryIndex(
PadEntry entry)
const noexcept;
86 void SetEntryIndex(
PadEntry entry, int32_t index)
noexcept;
91 std::array<PadState, kGamepadMax> _padStates;
93 std::array<int32_t, kGamepadEntryMax> _entryIndexes;
95 bool _existsHighPriorityPad{
false};
97 PadState _invalidPadState;
99 RepeatSetting _repeatSetting;
103 PadButton decideButton{PadButton::None};
104 PadButton cancelButton{PadButton::None};
106 STL::unordered_map<PadType, TypeSettings> _typeSettings;
108 std::recursive_mutex _mutexPadStates;
109 std::recursive_mutex _mutexEntry;
イベントハンドルクラス
Definition mgl_event_handle.h:21
シングルトンテンプレート(共有ライブラリ用)
Definition mgl_singleton.h:44
PadEntry
パッドのエントリータイプ
Definition mgl_gamepad_defs.h:164
PadType
ゲームパッドの種類
Definition mgl_gamepad_defs.h:148
PadButton
ゲームパッドのボタンの定義
Definition mgl_gamepad_defs.h:33
constexpr size_t kGamepadMax
ゲームパッドの最大認識数
Definition mgl_gamepad_server.h:33
std::vector< T, Allocator< T > > vector
std::vectorの代替
Definition mgl_stl_containers.h:51
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:247