UI_Lose.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { _decorator, Component, Node, sp } from 'cc';
  2. import { GameUILayers, gui } from 'db://assets/core/ui/ui';
  3. import ui_base from 'db://assets/core/ui/ui_base';
  4. import { ModuleDef } from 'db://assets/Script/ModuleDef';
  5. import { layout_Lose } from './layout_Lose';
  6. import { UI_Hall } from '../UI_Hall/UI_Hall';
  7. import { ResUtil } from 'db://assets/core/util/ResUtil';
  8. import { SceneDef } from 'db://assets/Script/SceneDef';
  9. import ch_audio from 'db://assets/ch/audio/audio';
  10. import { UI_Main } from '../main/UI_Main';
  11. import { ani_ui } from '../../game/animation_utils';
  12. import { LvData } from '../../game/LvData/LvData';
  13. import { audioManager } from '../../Audio/AudioManager';
  14. import { Hall } from '../../hall/Hall';
  15. const { ccclass, property } = _decorator;
  16. @ccclass('UI_Lose')
  17. export class UI_Lose extends ui_base {
  18. constructor() {
  19. super(ModuleDef.GAME, 'ui/UI_Lose/lose', GameUILayers.HUD, layout_Lose);
  20. }
  21. protected async onCreated() {
  22. ani_ui(this.node);
  23. audioManager.playOneShot('sound/lose');
  24. const layout = this.getLayout<layout_Lose>();
  25. this.onButtonEvent(layout.returnBtn, async (button: any) => {
  26. audioManager.playOneShot('sound/click_Btn');
  27. await this.close()
  28. Hall.getInstance().to_hall()
  29. });
  30. this.onButtonEvent(layout.retryBtn, async (button: any) => {
  31. audioManager.playOneShot('sound/click_Btn');
  32. await this.close()
  33. Hall.getInstance().to_main()
  34. });
  35. this.onButtonEvent(layout.shareBtn, async (button: any) => {
  36. audioManager.playOneShot('sound/click_Btn');
  37. chsdk.shareAppMessage();
  38. });
  39. let role = layout.role.getComponent(sp.Skeleton)
  40. let skinId = LvData.instance.rwpf;
  41. this.changeSkin(skinId, layout.SkeletonData, role);
  42. }
  43. public changeSkin(newSkinId: number, SkeletonData, spineSkeleton): void {
  44. if (newSkinId - 1 >= 0 && newSkinId - 1 < SkeletonData.length) {
  45. spineSkeleton.skeletonData = SkeletonData[newSkinId - 1]
  46. spineSkeleton.setAnimation(0, "anim_f", true);
  47. }
  48. else {
  49. console.error("骨骼资源索引l越界")
  50. }
  51. }
  52. }