1#pragma once
2
3#include <basis/seadTypes.h>
4
5namespace al {
6
7class PadRumbleKeeper;
8class LiveActor;
9
10class PlayerHolder {
11public:
12 PlayerHolder(s32 maxPlayers);
13 void clear();
14 void registerPlayer(LiveActor* actor, PadRumbleKeeper* rumbleKeeper);
15 LiveActor* getPlayer(s32 index) const;
16 LiveActor* tryGetPlayer(s32 index) const;
17 s32 getPlayerNum() const;
18 s32 getBufferSize() const;
19 bool isFull() const;
20 bool isExistPadRumbleKeeper(s32 index) const;
21 PadRumbleKeeper* getPadRumbleKeeper(s32 index) const;
22
23private:
24 struct Player {
25 LiveActor* actor = nullptr;
26 PadRumbleKeeper* padRumbleKeeper = nullptr;
27 };
28
29 Player* mPlayers = nullptr;
30 s32 mBufferSize = 0;
31 s32 mPlayerNum = 0;
32};
33} // namespace al
34