squidGame/tgx-games-client/assets/module_arean/ui_getHero/UIGetHero.ts

60 lines
2.4 KiB
TypeScript
Raw Normal View History

2025-02-07 10:49:34 +08:00
/************************************************************************************
* 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<Prefab>(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}英雄数据不存在`);
}
}
}