| 1 | #include "Library/Camera/SpecialCameraHolder.h" |
|---|---|
| 2 | |
| 3 | #include "Library/Base/StringUtil.h" |
| 4 | #include "Library/Camera/CameraTicket.h" |
| 5 | #include "Library/Camera/CameraTicketId.h" |
| 6 | |
| 7 | namespace al { |
| 8 | |
| 9 | SpecialCameraHolder::SpecialCameraHolder() {} |
| 10 | |
| 11 | void SpecialCameraHolder::allocEntranceCameraBuffer(s32 maxEntries) { |
| 12 | mMaxEntranceCameras = maxEntries; |
| 13 | mEntranceCameras = new CameraTicket*[maxEntries]; |
| 14 | for (s32 i = 0; i < mMaxEntranceCameras; i++) |
| 15 | mEntranceCameras[i] = nullptr; |
| 16 | } |
| 17 | |
| 18 | void SpecialCameraHolder::registerEntranceCamera(CameraTicket* ticket) { |
| 19 | mEntranceCameras[mNumEntranceCameras] = ticket; |
| 20 | mNumEntranceCameras++; |
| 21 | } |
| 22 | |
| 23 | CameraTicket* SpecialCameraHolder::findEntranceCamera(const char* suffix) const { |
| 24 | for (s32 i = 0; i < mNumEntranceCameras; i++) { |
| 25 | CameraTicket* ticket = mEntranceCameras[i]; |
| 26 | if (isEqualString(str1: ticket->getTicketId()->getSuffix(), str2: suffix)) |
| 27 | return ticket; |
| 28 | } |
| 29 | return nullptr; |
| 30 | } |
| 31 | |
| 32 | } // namespace al |
| 33 |