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

117 lines
3.7 KiB
JavaScript

const BridgeWindow = require( "bridge.window" );
const ADVCT = require("adventure_controller");
const ADEVT = require("adventure_event");
cc.Class({
extends: BridgeWindow,
properties: {
msgNd:{
default:null,
type:cc.Node
},
detailNd:{
default:null,
type:cc.Node
},
useLb:{
default:null,
type:cc.Node
}
},
// LIFE-CYCLE CALLBACKS:
onLoad () {
this.ctrl = ADVCT.getInstance();
},
start () {
},
//msg不需要定位,detail需要設置位置
onOpenConfigs(params) {
this.type = params.type;
this.model_type = this.ctrl.getPlayModel();
this.data = params.data;
this.setUIWind();
},
onPreClosed() {
},
setUIWind(){
if(this.type == 1){
this.msgNd.active = true;
}else if(this.type == 2){
this.detailNd.active = true;
nx.gui.setActive(this.detailNd,"buff",true);
}else if(this.type == 3){
this.detailNd.active = true;
nx.gui.setActive(this.detailNd,"good",true);
}
this.setInfomation();
},
setInfomation(){
let cfg = null;
if(this.type == 1){
let evt_info = null;
let buff_data = null;
if(this.model_type == 1){
cfg = game.configs.adventure_endless_data.data_buff_icon[this.data.evt_id];
evt_info = game.configs.adventure_endless_data.data_evt_desc[this.data.evt_id];
buff_data = game.configs.adventure_endless_data.data_buff[this.data.evt_id];
}else{
cfg = game.configs.adventure_weekly_data.data_buff_icon[this.data.evt_id];
evt_info = game.configs.adventure_weekly_data.data_adventure_event[this.data.evt_id];
buff_data = evt_info;
}
if(cfg){
let res_path = cc.js.formatStr("prefab/pve/starlost/icons/%s",cfg.icon[0]);
nx.gui.setSpriteFrame(this.msgNd,"ico",res_path);
}
if(!evt_info)return;
nx.gui.setString(this.msgNd,"desc",evt_info.desc);
if(!buff_data)return;
gcore.GlobalEvent.fire(ADEVT.Update_Role_Good_Status,buff_data.effect);
}else if(this.type == 2){
cfg = this.data;
nx.gui.setString(this.detailNd,"buff/desc",cfg.desc);
}else if(this.type == 3){
nx.gui.setString(this.useLb,"",nx.text.getKey("Use"));
if(this.data.can_use == 0){
nx.gui.setString(this.useLb,"",nx.text.getKey("close"));
}
if(this.model_type == 1){
cfg = game.configs.adventure_endless_data.data_evt_desc[this.data.bid];
let res_path2 = cc.js.formatStr("prefab/pve/starlost/icons/%s",game.configs.adventure_endless_data.data_item_icon[this.data.bid]);
nx.gui.setSpriteFrame(this.detailNd,"good/item/ico",res_path2);
}else{
cfg = game.configs.adventure_weekly_data.data_adventure_event[this.data.bid];
let res_path3 = cc.js.formatStr("prefab/pve/starlost/icons/%s",cfg.item_icon);
nx.gui.setSpriteFrame(this.detailNd,"good/item/ico",res_path3);
}
nx.gui.setString(this.detailNd,"good/desc",cfg.desc);
}
},
// update (dt) {},
useProp(){
if(this.ctrl.getDeadStatus()){
return nx.tbox("AdvenDead");//已死亡
}
if(this.data.can_use == 1){
this.ctrl.send29507(this.data.bid,this.model_type,()=>{
gcore.GlobalEvent.fire(ADEVT.Update_Role_Good_Status,"E66001");
});
}
this.close();
}
});