FightFailLayer.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import { Node, sp, _decorator } from 'cc';
  2. import { BaseLayer } from '../../common/BaseLayer';
  3. import { cocosUtil } from '../../utils/cocosUtil';
  4. import { constants } from '../data/constants';
  5. import { msgac } from '../data/msgac';
  6. import { audioManager } from '../manager/audioManager';
  7. import { designManager } from '../manager/designManager';
  8. import { eventManager } from '../manager/eventManager';
  9. import { resManager } from '../manager/resManager';
  10. import { sdkManager } from '../manager/sdkManager';
  11. const { ccclass, property } = _decorator;
  12. @ccclass('FightFailLayer')
  13. export class FightFailLayer extends BaseLayer {
  14. btnLifeBack: Node;
  15. bodySkeleton: sp.Skeleton;
  16. monsterId: number;
  17. onLoad() {
  18. super.onLoad();
  19. this.monsterId = this.obj.monsterId;
  20. if (!this.monsterId) {
  21. this.monsterId = 1;
  22. }
  23. this.btnLifeBack = this.getNodeByPath("btns/btnLifeBack");
  24. this.bodySkeleton = this.getNodeByPath("body").getComponent(sp.Skeleton);
  25. this.initUI();
  26. audioManager.instance.playEffect(constants.audioNames.lose);
  27. sdkManager.instance.addLevelCount();
  28. sdkManager.instance.sendEventLevelEnd(false);
  29. }
  30. initUI() {
  31. this.initEffect();
  32. let row = designManager.instance.getRowById(constants.tableName.monster, this.monsterId);
  33. let path = constants.bundles.common.spine.roleDir + "/" + row.body + "/" + row.body;
  34. resManager.instance.loadAsset(constants.bundles.common.name, path, sp.SkeletonData, () => { }, (err, skeletonData) => {
  35. if (err) {
  36. return;
  37. }
  38. this.bodySkeleton.skeletonData = skeletonData;
  39. this.bodySkeleton.setAnimation(0, constants.animations.attack, true);
  40. });
  41. }
  42. initEffect() {
  43. cocosUtil.tweenScaleBreath(this.btnLifeBack);
  44. }
  45. onButtonClick(node: Node, name: string) {
  46. switch (name) {
  47. case "btnLifeBack":
  48. this.onClickBtnLifeBack(node);
  49. break;
  50. case "btnNext":
  51. this.onClickBtnNext(node);
  52. break;
  53. default:
  54. break;
  55. }
  56. }
  57. onClickBtnNext(node: Node) {
  58. this.closeLayer();
  59. eventManager.instance.send(msgac.levelRestart);
  60. }
  61. onClickBtnLifeBack(node: Node) {
  62. sdkManager.instance.openAd((st: number) => {
  63. if (st != 1) {
  64. return;
  65. }
  66. this.closeLayer();
  67. eventManager.instance.send(msgac.lifeBack);
  68. });
  69. }
  70. }