diff options
Diffstat (limited to 'src/Game/UI/uiPauseMenuDataMgr.cpp')
| -rw-r--r-- | src/Game/UI/uiPauseMenuDataMgr.cpp | 24 |
1 files changed, 24 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 |
