60 lines
2.4 KiB
TypeScript
60 lines
2.4 KiB
TypeScript
|
/************************************************************************************
|
||
|
|
||
|
* 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}英雄数据不存在`);
|
||
|
}
|
||
|
}
|
||
|
}
|