LevelLayer.ts 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742
  1. import { find, instantiate, macro, Node, ScrollView, sp, Sprite, tween, Tween, UITransform, v2, _decorator ,sys} from 'cc';
  2. import { BaseLayer } from '../../common/BaseLayer';
  3. import { cocosUtil } from '../../utils/cocosUtil';
  4. import { utilTools } from '../../utils/utilTools';
  5. import { constants } from '../data/constants';
  6. import { msgac } from '../data/msgac';
  7. import { ItemLayer } from '../item/ItemLayer';
  8. import { designManager } from '../manager/designManager';
  9. import { eventManager } from '../manager/eventManager';
  10. import { iconManager } from '../manager/iconManager';
  11. import { levelManager } from '../manager/levelManager';
  12. import { sdkManager } from '../manager/sdkManager';
  13. import { playerModel } from '../model/playerModel';
  14. import { FlutterEffect } from './effect/FlutterEffect';
  15. import { ReelEffect } from './effect/ReelEffect';
  16. import { FightLayer } from './FightLayer';
  17. import ATRewardedVideoSDK from "../../AnyThinkAds/ATRewardedVideoTSSDK"
  18. import AAJS2 from "../../utils/ATAndroidJS2";
  19. import ATJSSDK from "../../AnyThinkAds/ATJSSDK";
  20. //import { EncryptUtil } from '../../utils/EncryptUtil';
  21. //import AESUtil from "../../utils/AESUtil";
  22. import GlobalManager from '../../utils/GlobalManager';
  23. const { ccclass, property } = _decorator;
  24. @ccclass('LevelLayer')
  25. export class LevelLayer extends BaseLayer {
  26. /**
  27. * AD播放完毕标识
  28. */
  29. private adPalyOverEve_ = 'adPalyOverEve';
  30. //AD播放完毕后需要进行什么奖励的标记,如:fuHuo等,启用游戏的时候需要清空该KEY
  31. private yxAdMark = 'yxAdMark';
  32. listScrollView: ScrollView;
  33. listContentLayer: Node;
  34. levelLayer: Node;
  35. playerLayer: Node;
  36. skillEffectLayer: Node;
  37. hitEffectLayer: Node;
  38. btnAdAtk: Node;
  39. btnSkip: Node;
  40. levelNode: Node;
  41. level: number;
  42. handNode: Node;
  43. skillLayer: Node;
  44. fightLayer: Node;
  45. cloundLayer1: Node;
  46. cloundLayer2: Node;
  47. onLoad() {
  48. console.log("zh:LevelLayer onLoad");
  49. super.onLoad();
  50. this.getNodeByPath("cloundLayer").addComponent(FlutterEffect);
  51. this.getNodeByPath("moutainLayer").addComponent(ReelEffect);
  52. this.cloundLayer1 = this.getNodeByPath("list/view/content/cloundLayer1");
  53. this.cloundLayer1.addComponent(FlutterEffect).speed = 70;
  54. this.cloundLayer2 = this.getNodeByPath("list/view/content/cloundLayer2");
  55. this.cloundLayer2.addComponent(FlutterEffect).speed = 80;
  56. this.levelNode = this.getNodeByPath("level/level");
  57. this.btnAdAtk = this.getNodeByPath("btnAdAtk");
  58. this.btnSkip = this.getNodeByPath("btns/btnSkip");
  59. this.listScrollView = this.getNodeByPath("list").getComponent(ScrollView);
  60. this.listContentLayer = this.getNodeByPath("list/view/content");
  61. this.levelLayer = this.getNodeByPath("list/view/content/levelLayer");
  62. this.playerLayer = this.getNodeByPath("list/view/content/playerLayer");
  63. this.skillEffectLayer = this.getNodeByPath("list/view/content/skillEffectLayer");
  64. this.hitEffectLayer = this.getNodeByPath("hitEffectLayer");
  65. this.hitEffectLayer.addComponent(ItemLayer);
  66. this.skillLayer = this.getNodeByPath("skillLayer");
  67. this.skillLayer.addComponent(ItemLayer);
  68. this.fightLayer = this.getNodeByPath("fightLayer");
  69. this.fightLayer.addComponent(FightLayer);
  70. this.fightLayer.active = false;
  71. this.level = this.obj.level;
  72. this.initUI();
  73. // this.initAd();
  74. // this.initAdForPage();
  75. }
  76. /**
  77. * 初始化AD
  78. */
  79. initAd() {
  80. //1、清理AD奖励标记
  81. sys.localStorage.removeItem('yxAdMark')
  82. console.log("zh:initAd start");
  83. // // 初始化SDK
  84. //ATJSSDK.initSDK("h67122e47607cd", "a4fd9a23bdd71c2314cf41140a77abb1e");//这是cccc线上的
  85. ATJSSDK.initSDK("h67370c81d408e", "a0c9895b9687e4978a3ed2f2c0f441633");//正式的
  86. ATJSSDK.setLogDebug(true);
  87. // // 针对欧盟地区初始化时做的处理,按需求打开,不在欧盟地区发布的不用使用。
  88. ATJSSDK.getUserLocation(function (userLocation) {
  89. //如果处于欧盟地区且等级是UNKNOW时,就执行授权弹窗
  90. if (userLocation === ATJSSDK.kATUserLocationInEU) {
  91. if (ATJSSDK.getGDPRLevel() === ATJSSDK.UNKNOWN) {
  92. ATJSSDK.showGDPRAuth();
  93. }
  94. }
  95. });
  96. //var state = false;
  97. ATRewardedVideoSDK.setAdListener(this);
  98. if (sys.os === sys.OS.ANDROID) {
  99. let deviceId = AAJS2.getDeviceUserId();
  100. //console.log("checkstatus:",ATRewardedVideoSDK.checkAdStatus(AAJS2.getPlacementId()));
  101. var setting = {};
  102. setting[ATRewardedVideoSDK.userIdKey] = deviceId;
  103. ATRewardedVideoSDK.loadRewardedVideo(AAJS2.getPlacementId(), setting);
  104. }
  105. if (sys.platform == sys.Platform.ANDROID) {
  106. setTimeout(() => {
  107. var allInfo = AAJS2.allInfo();
  108. console.log('zh:allInfo=' + allInfo)
  109. let key = "US2%*c3lv8sYkUe(!e-6g$E*RJg)dzn@";
  110. let iv = "Jn0.aWsOu$y-Dbqb";
  111. // let data = { data: AESUtil.AESencrypt(allInfo, key, iv) };
  112. // ATSDK.printLog("zh:allInfo-jm=" + JSON.stringify(data));
  113. // console.log('zh:ad_allInfo', data);
  114. // AAJS2.makePostRequestWithXhr(JSON.stringify(data));
  115. // let data = { data: EncryptUtil.aesEncrypt(allInfo, key, iv) };
  116. // console.log("zh:allInfo jm=" + JSON.stringify(data));
  117. // AAJS2.makePostRequestWithXhr(JSON.stringify(data));
  118. }, 300);
  119. }
  120. console.log("zh:initAd end");
  121. }
  122. initAdForPage() {
  123. if (sys.isNative && sys.platform === sys.Platform.ANDROID) {
  124. let deviceId = AAJS2.getDeviceUserId();
  125. console.log("zh:checkstatus:", ATRewardedVideoSDK.checkAdStatus(AAJS2.getPlacementId()));
  126. var setting = {};
  127. setting[ATRewardedVideoSDK.userIdKey] = deviceId;
  128. ATRewardedVideoSDK.loadRewardedVideo(AAJS2.getPlacementId(), setting);
  129. }
  130. }
  131. /**
  132. * AD播放完毕的事件处理
  133. */
  134. handleCustomEvent() {
  135. console.log('zh:00收到发送的事件')
  136. let adKey = "zh_ad_type"
  137. let idx =sys.localStorage.getItem(adKey);//0,1,2,3
  138. console.log('zh:onAdOverEve idx =' + idx)
  139. switch (idx) {
  140. case '1':
  141. console.log('zh:开始使用消除道具')
  142. GlobalManager.getInstance().callMethod('event_AddChanceRevive_util');
  143. break;
  144. default:
  145. console.log('zh:未知的道具类型AD' + idx)
  146. }
  147. sys.localStorage.setItem(adKey, '');
  148. }
  149. onEnable() {
  150. this.addEventArr([
  151. msgac.levelRestart,
  152. msgac.lifeBack,
  153. msgac.adjustPlayerInCenter,
  154. msgac.levelNext,
  155. msgac.levelEspSuccess,
  156. msgac.skillLayerRefresh,
  157. msgac.judgeLevelSuccess,
  158. msgac.showHitEffect,
  159. msgac.startFight,
  160. msgac.fightEnd,
  161. msgac.skillAdd,
  162. msgac.LevelLayerClose,
  163. ]);
  164. }
  165. onDisable() {
  166. this.removeEventArr([
  167. msgac.levelRestart,
  168. msgac.lifeBack,
  169. msgac.adjustPlayerInCenter,
  170. msgac.levelNext,
  171. msgac.levelEspSuccess,
  172. msgac.skillLayerRefresh,
  173. msgac.judgeLevelSuccess,
  174. msgac.showHitEffect,
  175. msgac.startFight,
  176. msgac.fightEnd,
  177. msgac.skillAdd,
  178. msgac.LevelLayerClose,
  179. ]);
  180. }
  181. initUI() {
  182. this.initEffect();
  183. this.initSkillLayer();
  184. this.schedule(() => {
  185. let arr = this.skillLayer.children;
  186. for (let i in arr) {
  187. let node = arr[i];
  188. Tween.stopAllByTarget(node);
  189. node.setRotationFromEuler(0, 0, 0);
  190. }
  191. let pNode = utilTools.getRandomItemByArr(arr);
  192. cocosUtil.tweenShake(pNode, 0.1, 0, 0);
  193. }, 0.4 * 5, macro.REPEAT_FOREVER, 0);
  194. this.loadLevelLayer();
  195. }
  196. initSkillLayer() {
  197. let arr = designManager.instance.getTable(constants.tableName.skill);
  198. let tmpArr = [];
  199. for (let i in arr) {
  200. let row = arr[i];
  201. if (this.level % 2 == 0) {
  202. if (row.id == 1 || row.id == 3) {
  203. tmpArr.push(row);
  204. }
  205. continue;
  206. }
  207. if (row.id == 2 || row.id == 4) {
  208. tmpArr.push(row);
  209. }
  210. }
  211. arr = tmpArr;
  212. this.skillLayer.getComponent(ItemLayer).initUI(this, arr, this.refreshSkillItem.bind(this));
  213. }
  214. refreshSkillItem(itemUI: Node, row: any) {
  215. let numNode = find("num", itemUI);
  216. let adNode = find("ad", itemUI);
  217. let iconNode = find("icon", itemUI);
  218. let skill = playerModel.instance.getSkillById(row.id);
  219. iconManager.instance.setSprite(iconNode, row.icon);
  220. if (skill.num > 0) {
  221. numNode.active = true;
  222. adNode.active = false;
  223. this.setString(numNode, "x" + skill.num);
  224. } else {
  225. numNode.active = false;
  226. adNode.active = true;
  227. }
  228. }
  229. initLocaltext() {
  230. this.setString(this.levelNode, this.level);
  231. }
  232. initEffect() {
  233. cocosUtil.tweenShake(this.btnAdAtk);
  234. cocosUtil.tweenShake(this.btnSkip);
  235. }
  236. loadLevelLayer() {
  237. this.initLocaltext();
  238. this.cloundLayer1.active = false;
  239. this.cloundLayer2.active = false;
  240. sdkManager.instance.sendEventLevelStart(this.level);
  241. levelManager.instance.loadLevel(this.level, () => { }, (err, prefab) => {
  242. // 关卡UI生成
  243. for (let i in this.levelLayer.children) {
  244. this.levelLayer.children[i].destroy();
  245. }
  246. let node = instantiate(prefab);
  247. node.parent = this.levelLayer;
  248. cocosUtil.setPositionY(node, 0);
  249. // 设置视图滚动高度
  250. let listContentTf = this.listContentLayer.getComponent(UITransform);
  251. let levelTf = node.getComponent(UITransform);
  252. listContentTf.height = levelTf.height;
  253. // 从UI中初始化关卡数据
  254. levelManager.instance.initLevelLayer(this.level, node, this);
  255. // 初始化玩家
  256. for (let i in this.playerLayer.children) {
  257. this.playerLayer.children[i].destroy();
  258. }
  259. levelManager.instance.initRolePlayer(this.playerLayer);
  260. this.listScrollView.scrollToBottom(1);
  261. // 新手引导
  262. this.refreshHandLayer();
  263. // 随机云位置
  264. this.initCloundLayer();
  265. this.initSkillLayer();
  266. });
  267. if (this.level >= levelManager.instance.shopSecretLevelMin) {
  268. // 弹出神秘商店
  269. let obj: any = {};
  270. obj.type = constants.shopTypes.secret;
  271. this.openLayer(constants.layers.ShopLayer, obj);
  272. }
  273. }
  274. initCloundLayer() {
  275. this.cloundLayer1.active = true;
  276. this.cloundLayer2.active = true;
  277. let height = this.listContentLayer.getComponent(UITransform).height;
  278. let gap = 200;
  279. let maxY = height - gap;
  280. let minY = gap;
  281. let midY = (minY + maxY) * 0.5;
  282. let posY = utilTools.getFloatValue(midY, maxY);
  283. let clound = this.cloundLayer1.children[0];
  284. let pos = clound.getPosition();
  285. pos.y = -posY;
  286. clound.setPosition(pos);
  287. posY = utilTools.getFloatValue(minY, midY);
  288. clound = this.cloundLayer2.children[0];
  289. pos = clound.getPosition();
  290. pos.y = -posY;
  291. clound.setPosition(pos);
  292. }
  293. refreshHandLayer() {
  294. if (this.level != 1 || playerModel.instance.getHandShow()) {
  295. return;
  296. }
  297. if (this.handNode) {
  298. this.removeHandLayer();
  299. }
  300. let floorLayer = levelManager.instance.floorLayerObj[1];
  301. let firstMonster = floorLayer.children[0].children[0];
  302. cocosUtil.addHand(firstMonster, this.node, (handNode) => {
  303. // 根据实际情况再进行微调
  304. let pos = handNode.getPosition();
  305. pos.x += 40;
  306. pos.y -= 10;
  307. handNode.setPosition(pos);
  308. handNode["attachNode"] = firstMonster;
  309. this.handNode = handNode;
  310. });
  311. }
  312. removeHandLayer() {
  313. this.handNode.destroy();
  314. this.handNode = null;
  315. }
  316. levelRestartRet(data: any) {
  317. this.loadLevelLayer();
  318. }
  319. lifeBackRet(data: any) {
  320. levelManager.instance.playerBackLife();
  321. }
  322. adjustPlayerInCenterRet(data: any) {
  323. let playerNode = levelManager.instance.playerRoleItem.node;
  324. let pos = cocosUtil.convertToWorldSpace(playerNode);
  325. pos = cocosUtil.convertToNodeSpace(this.playerLayer, pos);
  326. let maxOffset = this.listScrollView.getMaxScrollOffset();
  327. let playerNodeTf = playerNode.getComponent(UITransform);
  328. let dy = Math.abs(pos.y) - playerNodeTf.height * (1 - playerNodeTf.anchorY);
  329. let offsetY = dy - this.listScrollView.node.getComponent(UITransform).height * 0.5;
  330. if (offsetY < 0) {
  331. offsetY = 0;
  332. }
  333. if (offsetY > maxOffset.y) {
  334. offsetY = maxOffset.y;
  335. }
  336. let offset = this.listScrollView.getScrollOffset();
  337. if (Math.abs(offset.y - offsetY) <= 50) {
  338. // 微量移动位置,就不跟随了
  339. return;
  340. }
  341. this.listScrollView.scrollToOffset(v2(0, offsetY), 0.6);
  342. }
  343. levelNextRet(data) {
  344. this.level = playerModel.instance.getLevel();
  345. this.loadLevelLayer();
  346. }
  347. levelEspSuccessRet(data) {
  348. this.closeLayer();
  349. let obj: any = {};
  350. obj.openLevelEspSelectLayer = true;
  351. this.openLayer(constants.layers.StartLayer, obj);
  352. };
  353. skillLayerRefreshRet(data) {
  354. this.skillLayer.getComponent(ItemLayer).refreshUI();
  355. }
  356. judgeLevelSuccessRet(data) {
  357. levelManager.instance.judgeLevelSuccess();
  358. }
  359. showHitEffectRet(data: any) {
  360. this.hitEffectLayer.getComponent(ItemLayer).addItem(data, this.refreshEffectItem.bind(this));
  361. }
  362. refreshEffectItem(itemUI: Node, data: any) {
  363. let skeleton = itemUI.getComponent(sp.Skeleton);
  364. skeleton.setAnimation(0, "hit1", false);
  365. itemUI.setPosition(cocosUtil.convertToNodeSpace(itemUI, data.pos));
  366. skeleton.setEndListener(() => {
  367. this.hitEffectLayer.getComponent(ItemLayer).removeItemUIByItemUI(itemUI);
  368. });
  369. }
  370. startFightRet(data: any) {
  371. this.fightLayer.active = true;
  372. this.fightLayer.getComponent(FightLayer).loadFightData(data);
  373. if (this.handNode) {
  374. this.handNode.active = false;
  375. }
  376. }
  377. fightEndRet(data: any) {
  378. if (this.handNode) {
  379. this.handNode.active = true;
  380. }
  381. if (!data.isWin) {
  382. data.name = constants.layers.GameContinueLayer.name;
  383. data.nextLayerName = constants.layers.FightFailLayer.name;
  384. eventManager.instance.send(msgac.openLayer, data);
  385. }
  386. }
  387. skillAddRet(data: any) {
  388. let node = new Node();
  389. node.addComponent(Sprite);
  390. let row = designManager.instance.getRowById(constants.tableName.skill, data.skillId);
  391. iconManager.instance.setSprite(node, row.icon);
  392. node.parent = this.node;
  393. let pos = cocosUtil.convertToNodeSpace(node, data.pos);
  394. node.setPosition(pos);
  395. node.getComponent(UITransform).width = 100;
  396. node.getComponent(UITransform).height = 100;
  397. let itemnUI = this.skillLayer.getComponent(ItemLayer).idItemUIObj[row.id];
  398. let posTarget = cocosUtil.convertToWorldSpace(itemnUI);
  399. posTarget = cocosUtil.convertToNodeSpace(node, posTarget);
  400. tween(node).to(0.5, {
  401. position: posTarget
  402. }).call(() => {
  403. node.destroy();
  404. this.skillLayer.getComponent(ItemLayer).refreshItemUIById(row.id);
  405. }).start();
  406. }
  407. LevelLayerCloseRet(data: any) {
  408. this.closeLayer();
  409. }
  410. process_event(event: any) {
  411. let ac = event.ac;
  412. let data = event.data;
  413. switch (ac) {
  414. case msgac.LevelLayerClose:
  415. this.LevelLayerCloseRet(data);
  416. break;
  417. case msgac.skillAdd:
  418. this.skillAddRet(data);
  419. break;
  420. case msgac.fightEnd:
  421. this.fightEndRet(data);
  422. break;
  423. case msgac.startFight:
  424. this.startFightRet(data);
  425. break;
  426. case msgac.showHitEffect:
  427. this.showHitEffectRet(data);
  428. break;
  429. case msgac.judgeLevelSuccess:
  430. this.judgeLevelSuccessRet(data);
  431. break;
  432. case msgac.skillLayerRefresh:
  433. this.skillLayerRefreshRet(data);
  434. break;
  435. case msgac.levelEspSuccess:
  436. this.levelEspSuccessRet(data);
  437. break;
  438. case msgac.levelNext:
  439. this.levelNextRet(data);
  440. break;
  441. case msgac.adjustPlayerInCenter:
  442. this.adjustPlayerInCenterRet(data);
  443. break;
  444. case msgac.lifeBack:
  445. this.lifeBackRet(data);
  446. break;
  447. case msgac.levelRestart:
  448. this.levelRestartRet(data);
  449. break;
  450. default:
  451. break;
  452. }
  453. }
  454. onButtonClick(node: Node, name: string) {
  455. if (name.length > 5 && name.substring(0, 5) == "role_") {
  456. this.onClickRoleItem(node);
  457. return;
  458. }
  459. switch (name) {
  460. case "skillItem":
  461. this.onClickSkillItem(node);
  462. break;
  463. case "btnAdAtk":
  464. this.onClickBtnAdAtk(node);
  465. break;
  466. case "btnReset":
  467. this.onClickBtnReset(node);
  468. break;
  469. case "btnBack":
  470. this.onClickBtnBack(node);
  471. break;
  472. case "btnSkip":
  473. this.onClickBtnSkip(node);
  474. break;
  475. default:
  476. break;
  477. }
  478. }
  479. onClickSkillItem(node) {
  480. if (this["skilling"]) {
  481. return;
  482. }
  483. let skill = playerModel.instance.getSkillById(node.item.id);
  484. if (skill.num <= 0) {
  485. let row = designManager.instance.getRowById(constants.tableName.skill, skill.id);
  486. sdkManager.instance.sendEvent("观看激励视频-获取" + row.name);
  487. sdkManager.instance.openAd((st: number) => {
  488. if (st != 1) {
  489. return;
  490. }
  491. playerModel.instance.addSkillNumById(skill.id);
  492. this.skillLayer.getComponent(ItemLayer).refreshItemUIByItem(node.item);
  493. sdkManager.instance.sendEvent("观看完激励视频-获取" + row.name);
  494. });
  495. return;
  496. }
  497. this["skilling"] = true;
  498. levelManager.instance.useSkillId(skill.id, this.skillEffectLayer, () => {
  499. delete this["skilling"];
  500. });
  501. this.skillLayer.getComponent(ItemLayer).refreshItemUIByItem(node.item);
  502. }
  503. onClickBtnAdAtk(node: Node) {
  504. sdkManager.instance.sendEvent("观看激励视频-增加10点攻击");
  505. sdkManager.instance.openAd((st: number) => {
  506. if (st != 1) {
  507. return;
  508. }
  509. levelManager.instance.addAtk(levelManager.instance.levelAdAtkAddVal);
  510. sdkManager.instance.sendEvent("观看完激励视频-增加10点攻击");
  511. });
  512. }
  513. onClickBtnSkip(node: Node) {
  514. sdkManager.instance.sendEvent("观看激励视频-跳关");
  515. sdkManager.instance.openAd((st: number) => {
  516. if (st != 1) {
  517. return;
  518. }
  519. levelManager.instance.levelSkip();
  520. sdkManager.instance.sendEvent("观看完激励视频-跳关");
  521. });
  522. }
  523. onClickBtnReset(node: Node) {
  524. this.loadLevelLayer();
  525. sdkManager.instance.addLevelCount();
  526. }
  527. onClickRoleItem(node: Node) {
  528. if (this.handNode && this.handNode["attachNode"] == node) {
  529. playerModel.instance.setHandShow(1);
  530. this.removeHandLayer();
  531. }
  532. levelManager.instance.onClickRoleItem(node);
  533. }
  534. onClickBtnBack(node: Node) {
  535. this.openLayer(constants.layers.StartLayer);
  536. this.closeLayer();
  537. }
  538. //#region 'ad'
  539. onRewardedVideoAdLoaded(placementId) {
  540. console.log("zh:onRewardedVideoAdLoaded", placementId, "", "")
  541. }
  542. onRewardedVideoAdFailed(placementId, errorInfo) {
  543. console.log("zh:onRewardedVideoAdFailed", placementId, "", errorInfo)
  544. }
  545. onRewardedVideoAdPlayStart(placementId, callbackInfo) {
  546. console.log("zh:onRewardedVideoAdPlayStart", placementId, callbackInfo, "")
  547. let deviceId = AAJS2.getDeviceUserId();
  548. var setting = {};
  549. setting[ATRewardedVideoSDK.userIdKey] = deviceId;
  550. ATRewardedVideoSDK.loadRewardedVideo(AAJS2.getPlacementId(), setting);
  551. }
  552. onRewardedVideoAdPlayEnd(placementId, callbackInfo) {
  553. console.log("zh:onRewardedVideoAdPlayEnd", placementId, callbackInfo, "")
  554. console.log('zh: ad over 开始发送事件11')
  555. //this.node.emit("handleCustomEvent");
  556. this.handleCustomEvent()
  557. console.log('zh: ad over 开始发送事件OVER22')
  558. }
  559. onRewardedVideoAdPlayFailed(placementId, errorInfo, callbackInfo) {
  560. console.log("zh:onRewardedVideoAdPlayFailed", placementId, callbackInfo, errorInfo)
  561. }
  562. onRewardedVideoAdClosed(placementId, callbackInfo) {
  563. console.log("zh:onRewardedVideoAdClosed", placementId, callbackInfo, "")
  564. }
  565. onRewardedVideoAdPlayClicked(placementId, callbackInfo) {
  566. console.log("zh:onRewardedVideoAdPlayClicked", placementId, callbackInfo, "")
  567. }
  568. onReward(placementId, callbackInfo) {
  569. //this.state = true;
  570. }
  571. //Callbacks added v5.8.10
  572. onAdSourceBiddingAttempt(placementId, callbackInfo) {
  573. console.log("zh:onAdSourceBiddingAttempt", placementId, callbackInfo, "")
  574. }
  575. onAdSourceBiddingFilled(placementId, callbackInfo) {
  576. console.log("zh:onAdSourceBiddingFilled", placementId, "", "")
  577. }
  578. onAdSourceBiddingFail(placementId, errorInfo, callbackInfo) {
  579. console.log("zh:onAdSourceBiddingFail", placementId, callbackInfo, errorInfo)
  580. }
  581. onAdSourceAttempt(placementId, callbackInfo) {
  582. console.log("zh:onAdSourceAttempt", placementId, callbackInfo, "")
  583. }
  584. onAdSourceLoadFilled(placementId, callbackInfo) {
  585. console.log("zh:onAdSourceLoadFilled", placementId, callbackInfo, "")
  586. }
  587. onAdSourceLoadFail(placementId, errorInfo, callbackInfo) {
  588. console.log("zh:onAdSourceLoadFail", placementId, callbackInfo, errorInfo)
  589. }
  590. onRewardedVideoAdAgainPlayStart(placementId, callbackInfo) {
  591. console.log("zh:onRewardedVideoAdAgainPlayStart", placementId, callbackInfo, "")
  592. }
  593. onRewardedVideoAdAgainPlayEnd(placementId, callbackInfo) {
  594. console.log("zh:onRewardedVideoAdAgainPlayEnd", placementId, callbackInfo, "")
  595. }
  596. onRewardedVideoAdAgainPlayFailed(placementId, errorInfo, callbackInfo) {
  597. console.log("zh:onRewardedVideoAdAgainPlayFailed", placementId, callbackInfo, errorInfo)
  598. }
  599. onRewardedVideoAdAgainPlayClicked(placementId, callbackInfo) {
  600. console.log("zh:onRewardedVideoAdAgainPlayClicked", placementId, callbackInfo, "")
  601. }
  602. onAgainReward(placementId, callbackInfo) {
  603. console.log("zh:onAgainReward", placementId, callbackInfo, "")
  604. }
  605. //#endregion
  606. }