diff options
| author | savage13 <savage13@gmail.com> | 2022-02-26 09:01:44 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-26 15:01:44 +0100 |
| commit | 9d35c385f9ed410a409bcedf7c319e37c6a6f074 (patch) | |
| tree | 142d73f0ecd4b8b6c3a4696080b36b96968ff076 /src/Game/UI | |
| parent | c804527d7a247aca80b88de56191bb13938de38a (diff) | |
Match two small functions in PauseMenuDataMgr (#86)
Diffstat (limited to 'src/Game/UI')
| -rw-r--r-- | src/Game/UI/uiPauseMenuDataMgr.cpp | 24 | ||||
| -rw-r--r-- | src/Game/UI/uiPauseMenuDataMgr.h | 3 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/Game/UI/uiPauseMenuDataMgr.cpp b/src/Game/UI/uiPauseMenuDataMgr.cpp index b3997c5e..3d1f6569 100644 --- a/src/Game/UI/uiPauseMenuDataMgr.cpp +++ b/src/Game/UI/uiPauseMenuDataMgr.cpp @@ -2749,4 +2749,28 @@ void PauseMenuDataMgr::updateDivineBeastClearFlags(int num_cleared_beasts) { } } +void PauseMenuDataMgr::equipWeapon(PouchItem* weapon) { + if (!weapon) { + return; + } + auto lock = sead::makeScopedLock(mCritSection); + auto* item = mItemLists.list1.nth(0); + while (item && item->isWeapon()) { + if (item->mType == weapon->mType) { + item->mEquipped = false; + } + item = mItemLists.list1.next(item); + } + weapon->mEquipped = true; + saveToGameData(mItemLists.list1); +} + +void PauseMenuDataMgr::unequip(PouchItem* item) { + if (!item) { + return; + } + auto lock = sead::makeScopedLock(mCritSection); + item->mEquipped = false; + saveToGameData(mItemLists.list1); +} } // namespace uking::ui diff --git a/src/Game/UI/uiPauseMenuDataMgr.h b/src/Game/UI/uiPauseMenuDataMgr.h index 88c4235f..a141fce9 100644 --- a/src/Game/UI/uiPauseMenuDataMgr.h +++ b/src/Game/UI/uiPauseMenuDataMgr.h @@ -363,6 +363,9 @@ public: PouchCategory getCategoryToSort() const { return mCategoryToSort; } + void equipWeapon(PouchItem* weapon); + void unequip(PouchItem* item); + private: // TODO: rename struct GrabbedItemInfo { |
