PurchaseBannerCtrl.hpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // PurchaseBannerCtrl.hpp
  3. // merge6
  4. //
  5. // Created by Black Homles on 2024/9/24.
  6. //
  7. #ifndef PurchaseBannerCtrl_hpp
  8. #define PurchaseBannerCtrl_hpp
  9. #include "cocos2d.h"
  10. #include "extensions/cocos-ext.h"
  11. #include "PurchaseBannerDelegate.h"
  12. #include "PurchaseBannerView.hpp"
  13. class PurchaseBannerCtrl :
  14. public PurchaseBannerViewDelegate {
  15. public:
  16. PurchaseBannerCtrl();
  17. ~PurchaseBannerCtrl();
  18. static PurchaseBannerCtrl* getInstance();
  19. ///初始化组件
  20. ///tmpNode,代理类实现
  21. void init(PurchaseBannerDelegate* pDelegate);
  22. ///加载pageview节点,添加banner
  23. ///outerNode,外部传入的父节点
  24. ///bNameList,要添加的banner名称
  25. ///autoTime,如果要自动切换下一页,需要设置时间
  26. void showBanner(Node* outerNode,vector<string> bNameList,float autoTime = 0);
  27. ///pageview元素被点击,如果是活动,通过代理发送到外部
  28. ///bName,banner名称,是谁发的消息
  29. void pageViewBtnClick(int bNO,string bName);
  30. ///内购回调函数,如果是礼包,通过代理下发
  31. ///succ,内购结果成功或失败
  32. void purchaseReturn(bool succ);
  33. void purchaseOverCallBack(int bNO,string bName,bool isok);
  34. virtual PurchaseBannerCell* pageCellAtIndex(PurchaseBannerView* pageView, int index) override;
  35. virtual void pageCellTouched(Touch* touch, PurchaseBannerCell* page) override;
  36. virtual void onPageChanged(int currentPageIndex, bool manualSet) override;
  37. virtual void onPageTouchBegan(Touch* touch) override;
  38. private:
  39. static PurchaseBannerCtrl* tempPBCtrlInst;
  40. PurchaseBannerDelegate* _pBannerDelegate = nullptr;
  41. Node* _parentNode = nullptr;
  42. vector<string> _bNameList = {};
  43. vector<string> _bResList = {};
  44. PurchaseBannerView* _pviewNode = nullptr;
  45. PurchaseBannerView::sDotCfg _gDotCfg;
  46. std::map<int,PurchaseBannerCell*> _pviewCellNameMap = {};
  47. float _moveNextTime = 0;
  48. void showTimeOutTip();
  49. void startShowNextPage(float dtt);
  50. };
  51. #endif /* PurchaseBannerCtrl_hpp */