import { _decorator, Component, Node, sp } from 'cc'; import { GameUILayers, gui } from 'db://assets/core/ui/ui'; import ui_base from 'db://assets/core/ui/ui_base'; import { ModuleDef } from 'db://assets/Script/ModuleDef'; import { layout_Lose } from './layout_Lose'; import { UI_Hall } from '../UI_Hall/UI_Hall'; import { ResUtil } from 'db://assets/core/util/ResUtil'; import { SceneDef } from 'db://assets/Script/SceneDef'; import ch_audio from 'db://assets/ch/audio/audio'; import { UI_Main } from '../main/UI_Main'; import { ani_ui } from '../../game/animation_utils'; import { LvData } from '../../game/LvData/LvData'; import { audioManager } from '../../Audio/AudioManager'; import { Hall } from '../../hall/Hall'; const { ccclass, property } = _decorator; @ccclass('UI_Lose') export class UI_Lose extends ui_base { constructor() { super(ModuleDef.GAME, 'ui/UI_Lose/lose', GameUILayers.HUD, layout_Lose); } protected async onCreated() { ani_ui(this.node); audioManager.playOneShot('sound/lose'); const layout = this.getLayout(); this.onButtonEvent(layout.returnBtn, async (button: any) => { audioManager.playOneShot('sound/click_Btn'); await this.close() Hall.getInstance().to_hall() }); this.onButtonEvent(layout.retryBtn, async (button: any) => { audioManager.playOneShot('sound/click_Btn'); await this.close() Hall.getInstance().to_main() }); this.onButtonEvent(layout.shareBtn, async (button: any) => { audioManager.playOneShot('sound/click_Btn'); chsdk.shareAppMessage(); }); let role = layout.role.getComponent(sp.Skeleton) let skinId = LvData.instance.rwpf; this.changeSkin(skinId, layout.SkeletonData, role); } public changeSkin(newSkinId: number, SkeletonData, spineSkeleton): void { if (newSkinId - 1 >= 0 && newSkinId - 1 < SkeletonData.length) { spineSkeleton.skeletonData = SkeletonData[newSkinId - 1] spineSkeleton.setAnimation(0, "anim_f", true); } else { console.error("骨骼资源索引l越界") } } }