LevelEspSelectLayer.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { find, Node, _decorator } from 'cc';
  2. import { BaseLayer } from '../../common/BaseLayer';
  3. import { msgac } from '../data/msgac';
  4. import { ItemLayer } from '../item/ItemLayer';
  5. import { eventManager } from '../manager/eventManager';
  6. import { levelManager } from '../manager/levelManager';
  7. import { sdkManager } from '../manager/sdkManager';
  8. import { playerModel } from '../model/playerModel';
  9. const { ccclass, property } = _decorator;
  10. @ccclass('LevelEspSelectLayer')
  11. export class LevelEspSelectLayer extends BaseLayer {
  12. levelLayer: Node;
  13. onLoad() {
  14. super.onLoad();
  15. this.levelLayer = find("levelLayer", this.node);
  16. this.levelLayer.addComponent(ItemLayer);
  17. this.initUI();
  18. }
  19. initUI() {
  20. this.levelLayer.getComponent(ItemLayer).initUI(this, levelManager.instance.levelEspIdArr, this.refreshLevelItem.bind(this));
  21. }
  22. refreshLevelItem(itemUI: Node, id: any) {
  23. let unlockNode = find("unlock", itemUI);
  24. if (playerModel.instance.isLevelEspUnlock(id)) {
  25. unlockNode.active = false;
  26. } else {
  27. unlockNode.active = true;
  28. }
  29. }
  30. onButtonClick(node: Node, name: string) {
  31. switch (name) {
  32. case "levelItem":
  33. this.onClickLevelItem(node);
  34. break;
  35. case "btnClose":
  36. this.onClickBtnClose(node);
  37. break;
  38. default:
  39. break;
  40. }
  41. }
  42. onClickLevelItem(node: Node) {
  43. let id = node["item"];
  44. if (playerModel.instance.isLevelEspUnlock(id)) {
  45. let obj: any = {};
  46. obj.level = id;
  47. eventManager.instance.send(msgac.openLevelLayer, obj);
  48. this.closeLayer();
  49. return;
  50. }
  51. sdkManager.instance.openAd((st: number) => {
  52. if (st != 1) {
  53. return;
  54. }
  55. playerModel.instance.unlockLevelEsp(id);
  56. });
  57. }
  58. onClickBtnClose(node: Node) {
  59. this.closeLayer();
  60. }
  61. }