mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
57 lines
1.3 KiB
C++
57 lines
1.3 KiB
C++
#include "Library/Player/PlayerHolder.h"
|
|
|
|
namespace al {
|
|
|
|
PlayerHolder::PlayerHolder(s32 maxPlayers) {
|
|
mBufferSize = maxPlayers;
|
|
mPlayers = new Player[maxPlayers];
|
|
clear();
|
|
}
|
|
|
|
void PlayerHolder::clear() {
|
|
for (s32 i = 0; i < mBufferSize; i++) {
|
|
mPlayers[i].actor = nullptr;
|
|
mPlayers[i].padRumbleKeeper = nullptr;
|
|
}
|
|
}
|
|
|
|
void PlayerHolder::registerPlayer(LiveActor* actor, PadRumbleKeeper* rumbleKeeper) {
|
|
mPlayers[mPlayerNum].actor = actor;
|
|
mPlayers[mPlayerNum].padRumbleKeeper = rumbleKeeper;
|
|
mPlayerNum++;
|
|
}
|
|
|
|
LiveActor* PlayerHolder::getPlayer(s32 index) const {
|
|
return mPlayers[index].actor;
|
|
}
|
|
|
|
LiveActor* PlayerHolder::tryGetPlayer(s32 index) const {
|
|
if (mBufferSize <= index)
|
|
return nullptr;
|
|
else if (mPlayerNum <= index)
|
|
return nullptr;
|
|
|
|
return mPlayers[index].actor;
|
|
}
|
|
|
|
s32 PlayerHolder::getPlayerNum() const {
|
|
return mPlayerNum;
|
|
}
|
|
|
|
s32 PlayerHolder::getBufferSize() const {
|
|
return mBufferSize;
|
|
}
|
|
|
|
bool PlayerHolder::isFull() const {
|
|
return mBufferSize <= mPlayerNum;
|
|
}
|
|
|
|
bool PlayerHolder::isExistPadRumbleKeeper(s32 index) const {
|
|
return mPlayers[index].padRumbleKeeper != nullptr;
|
|
}
|
|
|
|
PadRumbleKeeper* PlayerHolder::getPadRumbleKeeper(s32 index) const {
|
|
return mPlayers[index].padRumbleKeeper;
|
|
}
|
|
} // namespace al
|