// // IAPCtlShop.cpp // TileManor // // Created by 徐炼新 on 2024/9/30. // #include "IAPCtlShop.hpp" #include "cocos2d.h" #include "RUBaseConf.h" #include "RUUtils.h" #include "IAPConf.hpp" #include "IAPCtlShopUI.hpp" #include "IAPUserData.hpp" NS_IAP_BEGIN IAPCtlShop* IAPCtlShop::_instance = nullptr; IAPCtlShop* IAPCtlShop::createWith(){ if (_instance == nullptr) { _instance = new IAPCtlShop(); } return _instance; } void IAPCtlShop::init(std::string &cfgFN){ redutils::BaseConf* baseConf = new redutils::BaseConf(cfgFN.c_str()); _conf = IAPConf::getInstance(); _conf->initWith(baseConf); _shopUI = IAPCtlShopUI::getInstance(); _delegate = IAPDelegate::getInstance(); _level = 1; } void IAPCtlShop::setDelegate(IAPDelegate *delegate){ _delegate = delegate; } void IAPCtlShop::setDeviceLevel(int level){ _level = level; } int IAPCtlShop::getDeviceLevel(){ return _level; } bool IAPCtlShop::addAPlacement(const IAPPlacement &plInfo){ bool ans = false; if(ans)placementIDs.insert(plInfo.id); return ans; } void IAPCtlShop::removePlacement(const std::string &id){ placementIDs.erase(id); } size_t IAPCtlShop::getPlacementCount(){ return placementIDs.size(); } void IAPCtlShop::showInNode(cocos2d::Node *pParent, ShopRequirement &requirement){ _shopUI = IAPCtlShopUI::getInstance(); _shopUI->create(pParent, _conf, requirement,1); } void IAPCtlShop::showPlacementsInNode(cocos2d::Node *pParent, const vector &plIds){ } void IAPCtlShop::clearUserBuyInfo(){ iap::IAPUserData::getInstance()->clearBuyInfo(); } NS_IAP_END