MissionItem.ts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. import hallScene from "../../hallScene";
  2. import { App } from "../../Manager/App";
  3. import hallModel from "../../model/hallModel";
  4. import SuperListItem from "../SuperScrollview/SuperListItem";
  5. import TipPanel from "../tipPanel/TipPanel";
  6. import TipPanelMediator from "../tipPanel/TipPanelMediator";
  7. import SDK from "../../sdk/SDK";
  8. import AESUtil from "../../AESUtil"
  9. import ATSDK from "../../AnyThinkAds/ATJSSDK";
  10. import ATRewardedVideoSDK from "../../AnyThinkAds/ATRewardedVideoJSSDK";
  11. import AAJS2 from "../../ATAndroidJS2";
  12. import GlobalManager from '../../GlobalManager';
  13. import ATInterstitialSDK from "../../AnyThinkAds/ATInterstitialJSSDK";
  14. import ATBannerSDK from "../../AnyThinkAds/ATBannerJSSDK";
  15. import { AdType } from '../../ATAndroidJS2';
  16. const { ccclass, property } = cc._decorator;
  17. @ccclass
  18. export default class MissionItem extends SuperListItem {
  19. @property(cc.Label)
  20. textLabel: cc.Label = null;
  21. @property(cc.Label)
  22. processLabel: cc.Label = null;
  23. @property(cc.Label)
  24. coinnumLabel: cc.Label = null;
  25. @property(cc.Label)
  26. diamondLabel: cc.Label = null;
  27. @property(cc.ProgressBar)
  28. progress: cc.ProgressBar = null;
  29. private misOver: boolean = false;
  30. private m_index = 0;
  31. protected onLoad(): void {
  32. console.log('zh:MissionItem.ts onload ');//这个地方会加载4次,暂时没有办法
  33. SDK.Instance.initAdForPage();
  34. }
  35. public setData(tag: any) {
  36. this.m_index = tag;
  37. this.refresh();
  38. this.node.on(cc.Node.EventType.TOUCH_END, () => {
  39. console.log('zh:a m_index=' + this.m_index)
  40. if (!this.misOver) {
  41. App.Facade.popView(TipPanelMediator, TipPanel, "No rewards for incomplete tasks!", false);
  42. return;
  43. }
  44. console.log('zh:aa m_index=' + this.m_index)
  45. let missionReceiveNum = App.DataManager.MissionReceive[this.m_index];
  46. if (missionReceiveNum >= App.DataManager.MissionDataList[this.m_index].missonNum.length) {
  47. App.Facade.popView(TipPanelMediator, TipPanel, "Already obtained the highest reward!", false);//Already obtained the highest reward 已经获得最高奖励
  48. return;
  49. }
  50. if (cc.sys.os == cc.sys.OS_ANDROID) {
  51. if (ATRewardedVideoSDK.hasAdReady(AAJS2.getPlacementId())) {
  52. cc.sys.localStorage.setItem('yxAdMark', 'callBack_forGetJBei');//看广告用于 xx 标记
  53. GlobalManager.instance.registerMethod('callBack_forGetJBei', this.callBack_forGetJBei.bind(this));
  54. ATRewardedVideoSDK.showAd(AAJS2.getPlacementId());
  55. } else {
  56. console.log('zh:AD 没有OK');
  57. this.callBack_forGetJBei();
  58. SDK.Instance.initAdForPage();
  59. }
  60. } else {
  61. this.callBack_forGetJBei();
  62. }
  63. // this.callBack_forGetJBei();
  64. }, this);
  65. // let passNum = Object.keys(App.DataManager.PassProgress).length - 1;
  66. // App.Facade.loadTexture('hallScene/texture/skin/' + data.getSkin).then((res: any) => {
  67. // self.texture.spriteFrame = res;
  68. // });
  69. }
  70. /**
  71. * 奖杯
  72. */
  73. public callBack_forGetJBei() {
  74. console.log('zh:callBack_forGetJBei 被触发')
  75. let missionReceiveNum = App.DataManager.MissionReceive[this.m_index];
  76. App.DataManager.UserCoin += App.DataManager.MissionDataList[this.m_index].rewardCoin[missionReceiveNum];
  77. App.DataManager.UserDiamond += App.DataManager.MissionDataList[this.m_index].rewardDiamon[missionReceiveNum];
  78. App.Facade.getModel(hallModel).updateCoinNumber();
  79. App.Facade.getModel(hallModel).updateDiamond();
  80. App.Facade.popView(TipPanelMediator, TipPanel, "Receive successfully", false);// 领取成功
  81. App.LocalStorageUtil.setNumber(App.LocalStorageUtil.lst_Coin, App.DataManager.UserCoin);
  82. App.LocalStorageUtil.setNumber(App.LocalStorageUtil.lst_UserDiamond, App.DataManager.UserDiamond);
  83. App.DataManager.MissionReceive[this.m_index]++;
  84. App.LocalStorageUtil.setJsonObj(App.LocalStorageUtil.list_missionReceive, App.DataManager.MissionReceive);
  85. this.refresh();
  86. }
  87. refresh() {
  88. let missionReceiveNum = App.DataManager.MissionReceive[this.m_index];
  89. if (missionReceiveNum >= App.DataManager.MissionDataList[this.m_index].missonNum.length) {
  90. App.Facade.popView(TipPanelMediator, TipPanel, "Already obtained the highest reward", false);// 已经领取最高奖励
  91. return;
  92. }
  93. // 具体任务
  94. this.textLabel.string = App.DataManager.MissionName[this.m_index].replace("%d", App.DataManager.MissionDataList[this.m_index].missonNum[missionReceiveNum].toString());
  95. // 完成进度数字
  96. this.processLabel.string = App.DataManager.MissionComplete[this.m_index] + "/" + App.DataManager.MissionDataList[this.m_index].missonNum[missionReceiveNum];
  97. // 奖励金币
  98. this.coinnumLabel.string = App.DataManager.MissionDataList[this.m_index].rewardCoin[missionReceiveNum].toString();
  99. // 奖励钻石
  100. this.diamondLabel.string = App.DataManager.MissionDataList[this.m_index].rewardDiamon[missionReceiveNum].toString();
  101. // 是否完成了这个任务
  102. this.misOver = App.DataManager.MissionComplete[this.m_index] >= App.DataManager.MissionDataList[this.m_index].missonNum[missionReceiveNum];
  103. // 完成进度
  104. this.progress.progress = App.DataManager.MissionComplete[this.m_index] / App.DataManager.MissionDataList[this.m_index].missonNum[missionReceiveNum];
  105. }
  106. }