| 1 | #pragma once |
| 2 | |
| 3 | #include <basis/seadTypes.h> |
| 4 | #include <container/seadPtrArray.h> |
| 5 | |
| 6 | #include "System/GameDataHolderAccessor.h" |
| 7 | |
| 8 | namespace al { |
| 9 | class IUseSceneObjHolder; |
| 10 | class IUseMessageSystem; |
| 11 | } // namespace al |
| 12 | |
| 13 | namespace ShopItem { |
| 14 | struct ItemInfo; |
| 15 | enum class ItemType : u32; |
| 16 | struct ShopItemInfo; |
| 17 | } // namespace ShopItem |
| 18 | |
| 19 | namespace rs { |
| 20 | void buyItemInShopItemList(const al::IUseSceneObjHolder* user, s32 itemIdx); |
| 21 | bool isBuyItemInShopItemList(const al::IUseSceneObjHolder* user, s32 itemIdx); |
| 22 | void buyItem(const al::IUseSceneObjHolder* user, const ShopItem::ItemInfo* itemInfo); |
| 23 | void buyItemAll(const al::IUseSceneObjHolder* user); |
| 24 | bool isBuyItem(GameDataHolderAccessor accessor, const ShopItem::ItemInfo* itemInfo); |
| 25 | bool isHaveCloth(GameDataHolderAccessor accessor, const char* name); |
| 26 | bool isHaveCap(GameDataHolderAccessor accessor, const char* name); |
| 27 | bool isHaveSticker(GameDataHolderAccessor accessor, const char* name); |
| 28 | bool isHaveGift(GameDataHolderAccessor accessor, const char* name); |
| 29 | const sead::PtrArray<ShopItem::ItemInfo>& getClothList(GameDataHolderAccessor accessor); |
| 30 | s32 getClothListSize(GameDataHolderAccessor accessor); |
| 31 | bool isHaveCloth(GameDataHolderAccessor accessor, s32 clothIdx); |
| 32 | bool isHaveClothByFileId(GameDataHolderAccessor accessor, const char* clothName, s32 fileId); |
| 33 | s32 calcHaveClothNum(GameDataHolderAccessor accessor); |
| 34 | void buyCloth(const al::IUseSceneObjHolder* user, const char* clothName); |
| 35 | const sead::PtrArray<ShopItem::ItemInfo>& getCapList(GameDataHolderAccessor accessor); |
| 36 | s32 getCapListSize(GameDataHolderAccessor accessor); |
| 37 | bool isHaveCap(GameDataHolderAccessor accessor, s32 capIdx); |
| 38 | bool isHaveCapByFileId(GameDataHolderAccessor accessor, const char* capName, s32 fileId); |
| 39 | bool isCompleteClothCap(const al::IUseSceneObjHolder* user); |
| 40 | bool isCompleteCloth(const al::IUseSceneObjHolder* user); |
| 41 | bool isCompleteCap(const al::IUseSceneObjHolder* user); |
| 42 | bool isCompleteCloth(const al::IUseSceneObjHolder* user, s32 fileId); |
| 43 | bool isCompleteCap(const al::IUseSceneObjHolder* user, s32 fileId); |
| 44 | s32 calcHaveCapNum(GameDataHolderAccessor accessor); |
| 45 | void buyCap(const al::IUseSceneObjHolder* user, const char* capName); |
| 46 | const sead::PtrArray<ShopItem::ItemInfo>& getGiftList(GameDataHolderAccessor accessor); |
| 47 | s32 getGiftListSize(GameDataHolderAccessor accessor); |
| 48 | bool isHaveGift(GameDataHolderAccessor accessor, s32 giftIdx); |
| 49 | s32 calcHaveGiftNum(GameDataHolderAccessor accessor); |
| 50 | bool checkCompleteGift(GameDataHolderAccessor accessor, s32 fileId); |
| 51 | const sead::PtrArray<ShopItem::ItemInfo>& getStickerList(GameDataHolderAccessor accessor); |
| 52 | s32 getStickerListSize(GameDataHolderAccessor accessor); |
| 53 | bool isHaveSticker(GameDataHolderAccessor accessor, s32 fileId); |
| 54 | s32 calcHaveStickerNum(GameDataHolderAccessor accessor); |
| 55 | bool checkCompleteSticker(GameDataHolderAccessor accessor, s32 fileId); |
| 56 | const char* getTestClothesName(); |
| 57 | const char* getTestCapName(); |
| 58 | const char* getTestGiftName(); |
| 59 | const char* getTestStickerName(); |
| 60 | const char* getTestItemName(); |
| 61 | const char* getTestShineName(); |
| 62 | const char* getMsTextName(const ShopItem::ItemType& itemType); |
| 63 | const char16* getDisplayName(const al::IUseMessageSystem* user, const ShopItem::ItemInfo& itemInfo); |
| 64 | bool isTypeWear(const ShopItem::ShopItemInfo* itemInfo); |
| 65 | } // namespace rs |
| 66 | |