Files
fc/dev/project/assets/Scripts/mod/pve/adventure/cmp/cmp.adventure.detail.js
T
2026-05-23 22:10:14 +08:00

160 lines
4.7 KiB
JavaScript

const BridgeWindow = require( "bridge.window" );
const ADVCT = require("adventure_controller");
const PathTool = require("pathtool");
//6 11 13
//L100 7
cc.Class({
extends: BridgeWindow,
properties: {
levNd:{
default:null,
type:cc.Node
},
starNd:{
default:null,
type:cc.Node
},
atkNd:{
default:null,
type:cc.Node
},
defNd:{
default:null,
type:cc.Node
},
hpNd:{
default:null,
type:cc.Node
},
chips:{
default:[],
type:[cc.Node]
},
models:{
default:[],
type:[cc.Node]
},
fabItem:{
default:null,
type:cc.Prefab
},
fabSkill:{
default:null,
type:cc.Prefab
}
},
// LIFE-CYCLE CALLBACKS:
onLoad () {
this.ctrl = ADVCT.getInstance();
this.chip_const = {
0:["lev",100],
1:["star",7]
};
this.model_const = {
0:["star",6],
1:["star",11],
2:["star",13]
};
},
start () {
},
//msg不需要定位,detail需要設置位置
onOpenConfigs(params) {
this.bid = params.bid;
this.hero_data = this.ctrl.getFormPartnerByBid(this.bid);
if(this.hero_data){
this.showInfos();
this.showChips();
this.showModels();
}
},
showInfos(){
nx.gui.setString(this.levNd,"",this.hero_data.lev);
nx.gui.setString(this.starNd,"",this.hero_data.star);
nx.gui.setSpriteFrame(this.atkNd,"ico_watk",cc.js.formatStr("coms/images/ico_watk"));
nx.gui.setString(this.atkNd,"num",this.hero_data.atk);
nx.gui.setSpriteFrame(this.defNd,"ico_wdef",cc.js.formatStr("coms/images/ico_wdef"));
nx.gui.setString(this.defNd,"num",this.hero_data.def);
nx.gui.setSpriteFrame(this.hpNd,"ico_whp",cc.js.formatStr("coms/images/ico_whp"));
nx.gui.setString(this.hpNd,"num",this.hero_data.hp);
},
showChips(){
let list = this.hero_data.artifacts;
for(let i=0;i<this.chips.length;i++){
let nd = this.chips[i];
let data = list[i];
let limit_const = this.chip_const[i];
if(data){
//是否解鎖
if(this.hero_data[limit_const[0]] >= limit_const[1]){//已解鎖
if(data){
let item = nx.gui.find(nd,"item");
item.active = true;
let pre = cc.instantiate(this.fabItem);
pre.parent = item;
let cmp = pre.getComponent("cmp.item.base");
if(cmp){
cmp.rebind(i,{bid:data.base_id,num:0},"");
}
}else{
nx.gui.setActive(nd,"empty",true);
}
}else{
nx.gui.setActive(nd,"clock",true);
}
}else{
nx.gui.setActive(nd,"clock",true);
}
}
},
showModels(){
let list = this.hero_data.dower_skill;
for(let i=0;i<this.models.length;i++){
let nd = this.models[i];
let data = list[i];
let limit_const = this.model_const[i];
if(data){
//是否解鎖
if(this.hero_data[limit_const[0]] >= limit_const[1]){//已解鎖
if(data){
let item = nx.gui.find(nd,"item");
item.active = true;
let skill_cfg = gskilldata("data_get_skill",data.skill_id);
if(skill_cfg && skill_cfg.icon){
// let res_path = PathTool.queryIconPath(skill_cfg.icon);
// nx.gui.setSpriteFrame(item,"",res_path);
let pre = cc.instantiate(this.fabSkill);
pre.parent = item;
let cmp = pre.getComponent("cmp.skill.base");
if(cmp){
cmp.rebind(i,data.skill_id,"");
}
}
}else{
nx.gui.setActive(nd,"empty",true);
}
}else{
nx.gui.setActive(nd,"clock",true);
}
}else{
nx.gui.setActive(nd,"clock",true);
}
}
},
onPreClosed() {
},
// update (dt) {},
});