1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- //
- // PurchaseBannerCtrl.hpp
- // merge6
- //
- // Created by Black Homles on 2024/9/24.
- //
- #ifndef PurchaseBannerCtrl_hpp
- #define PurchaseBannerCtrl_hpp
- #include "cocos2d.h"
- #include "extensions/cocos-ext.h"
- #include "PurchaseBannerDelegate.h"
- #include "PurchaseBannerView.hpp"
- class PurchaseBannerCtrl :
- public PurchaseBannerViewDelegate {
- public:
- PurchaseBannerCtrl();
- ~PurchaseBannerCtrl();
- static PurchaseBannerCtrl* getInstance();
-
- ///初始化组件
- ///tmpNode,代理类实现
- void init(PurchaseBannerDelegate* pDelegate);
-
- ///加载pageview节点,添加banner
- ///outerNode,外部传入的父节点
- ///bNameList,要添加的banner名称
- ///autoTime,如果要自动切换下一页,需要设置时间
- void showBanner(Node* outerNode,vector<string> bNameList,float autoTime = 0);
-
- ///pageview元素被点击,如果是活动,通过代理发送到外部
- ///bName,banner名称,是谁发的消息
- void pageViewBtnClick(int bNO,string bName);
-
- ///内购回调函数,如果是礼包,通过代理下发
- ///succ,内购结果成功或失败
- void purchaseReturn(bool succ);
-
- void purchaseOverCallBack(int bNO,string bName,bool isok);
-
- virtual PurchaseBannerCell* pageCellAtIndex(PurchaseBannerView* pageView, int index) override;
- virtual void pageCellTouched(Touch* touch, PurchaseBannerCell* page) override;
- virtual void onPageChanged(int currentPageIndex, bool manualSet) override;
- virtual void onPageTouchBegan(Touch* touch) override;
-
- private:
- static PurchaseBannerCtrl* tempPBCtrlInst;
-
- PurchaseBannerDelegate* _pBannerDelegate = nullptr;
- Node* _parentNode = nullptr;
- vector<string> _bNameList = {};
- vector<string> _bResList = {};
- PurchaseBannerView* _pviewNode = nullptr;
- PurchaseBannerView::sDotCfg _gDotCfg;
- std::map<int,PurchaseBannerCell*> _pviewCellNameMap = {};
-
- float _moveNextTime = 0;
-
- void showTimeOutTip();
- void startShowNextPage(float dtt);
- };
- #endif /* PurchaseBannerCtrl_hpp */
|