UI_Win.ts 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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_win } from './layout_win';
  6. import ch_audio from 'db://assets/ch/audio/audio';
  7. import { UI_Hall } from '../UI_Hall/UI_Hall';
  8. import { ResUtil } from 'db://assets/core/util/ResUtil';
  9. import { SceneDef } from 'db://assets/Script/SceneDef';
  10. import { UI_Main } from '../main/UI_Main';
  11. import { ch } from 'db://assets/ch/ch';
  12. import { ani_ui } from '../../game/animation_utils';
  13. import { LvData } from '../../game/LvData/LvData';
  14. import { audioManager } from '../../Audio/AudioManager';
  15. import { Hall } from '../../hall/Hall';
  16. const { ccclass, property } = _decorator;
  17. @ccclass('UI_Win')
  18. export class UI_Win extends ui_base {
  19. constructor() {
  20. super(ModuleDef.GAME, 'ui/UI_Win/win', GameUILayers.HUD, layout_win);
  21. }
  22. protected onCreated() {
  23. audioManager.playOneShot('sound/win');
  24. ani_ui(this.node);
  25. const layout = this.getLayout<layout_win>();
  26. this.onButtonEvent(layout.shareBtn, async () => {
  27. audioManager.playOneShot('sound/click_Btn');
  28. //分享给好友
  29. chsdk.shareAppMessage();
  30. })
  31. this.onButtonEvent(layout.nextBtn, async () => {
  32. audioManager.playOneShot('sound/click_Btn');
  33. //下一关
  34. gui.get(UI_Main).evt.emit(gui.get(UI_Main).evt.key.next_level);
  35. this.close();
  36. })
  37. this.onButtonEvent(layout.returnBtn, async () => {
  38. audioManager.playOneShot('sound/click_Btn');
  39. //返回大厅
  40. await gui.closeAll();
  41. Hall.getInstance().to_hall()
  42. });
  43. let role = layout.role.getComponent(sp.Skeleton)
  44. let skinId = LvData.instance.rwpf;
  45. this.changeSkin(skinId, layout.SkeletonData, role);
  46. }
  47. public changeSkin(newSkinId: number, SkeletonData, spineSkeleton): void {
  48. if (newSkinId - 1 >= 0 && newSkinId - 1 < SkeletonData.length) {
  49. spineSkeleton.skeletonData = SkeletonData[newSkinId - 1]
  50. spineSkeleton.setAnimation(0, "anim_v", false);
  51. }
  52. else {
  53. console.error("骨骼资源索引l越界")
  54. }
  55. }
  56. }