/************************************************************************************ * FileName : UIGetHero.ts * Description : * Version : v1.0.0 * CreateTime : 2024-12-10 15:11:35 * Author : * Copyright (c) 2024 * ============================================================== * Method Description: * * ============================================================== ************************************************************************************/ import {GameUILayers} from "db://assets/scripts/GameUILayers"; import {tgx_class} from "db://assets/core_tgx/base/ModuleContext"; import {ModuleDef} from "db://assets/scripts/ModuleDef"; import {tgxUIController} from "db://assets/core_tgx/tgx"; import {Layout_UIGetHero} from "db://assets/module_arean/ui_getHero/Layout_UIGetHero"; import {areanMgr} from "db://assets/module_arean/scripts/AreanManager"; import {resLoader} from "db://assets/core_tgx/base/utils/ResLoader"; import {UserMgr} from "db://assets/module_basic/scripts/UserMgr"; import {instantiate, Prefab } from "cc"; @tgx_class(ModuleDef.Arean) export class UIGetHero extends tgxUIController{ constructor() { super("ui_getHero/ui_getHero", GameUILayers.POPUP,Layout_UIGetHero) } protected onCreated(params: any) { let layout = this.layout as Layout_UIGetHero; this.onButtonEvent(layout.btnClose,()=>{ this.close(); }) this._initHeroSpine(params); } // 英雄spine private _initHeroSpine(params:any) : void{ let layout = this.layout as Layout_UIGetHero; let localHeroData = areanMgr.cfgMgr.HeroDatas.getAllDataMap(); let curHeroData = localHeroData.get(params.heroId); if(curHeroData){ let skin = curHeroData.skinRes[0]; let skinId = areanMgr.cfgMgr.SkinData.getData(skin).icon resLoader.load(ModuleDef.Arean,`res/Prefebs/heroSpine/${skinId}`,(err: Error, prefab: Prefab) => { if(err){ console.error(err); return; }else { let spineNode = instantiate(prefab); layout.heroSpine.destroyAllChildren(); layout.heroSpine.addChild(spineNode); } }) }else { console.error(`${UserMgr.inst.userInfo.heroId}英雄数据不存在`); } } }