Files
fc/dev/project/assets/Scripts/mod/guild/guildbat/cmp/cmp.guildbat.logwin.js
T
2026-05-23 22:10:14 +08:00

76 lines
2.5 KiB
JavaScript

const GuildBatMod = require("guildbat.mod");
const BridgeWindow = require( "bridge.window" );
const GuildwarEvent = require("guildwar_event");
cc.Class({
extends: BridgeWindow,
properties: {
content:{
default:null,
type:cc.Node
},
logItem:{
default:null,
type:cc.Node
}
},
// LIFE-CYCLE CALLBACKS:
onLoad () {
this.mod = GuildBatMod.getInstance();
this.ruins_type = {
[0]:nx.text.getKey("GuildBatRuin"),
[1]:nx.text.getKey("GuildBatFortress"),
[2]:nx.text.getKey("GuildBatRuin")
};
this.log_type={
[1]:nx.text.getKey("GuildBatLog2_"),
[2]:nx.text.getKey("GuildBatLog3_"),
[3]:"",
[4]:nx.text.getKey("GuildBatLog4_"),
[5]:"",
[6]:"",
}
this.bindGEvent(GuildwarEvent.UpdateBatLogEvent,this.updateLogs.bind(this));
},
onOpenConfigs() {
this.mod.requestBattleLogData();
},
updateLogs(data){
nx.bridge.NodeChidrenDestroy(this.content);
for(let i in data.guild_war_log){
let log_data = data.guild_war_log[i];
let str = "";//總體描述
let svid0 = log_data.srv_id2.split( '_' );
let svid1 = log_data.srv_id1.split( '_' );
let resultT = log_data.int_args[4].val == 2?nx.text.getKey("FAil"):nx.text.getKey("Success");
if(log_data.flag1 == 0){//敵方
str += cc.js.formatStr(nx.text.getKey("GuildBatLog1_"), nx.text.format( "Srever", svid0[1] ),log_data.name2,nx.text.format( "Srever", svid1[1] ),log_data.name1,this.ruins_type[log_data.flag2],resultT);
}else{//我方
str += cc.js.formatStr(nx.text.getKey("GuildBatLog1_"),nx.text.format( "Srever", svid1[1] ),log_data.name1,nx.text.format( "Srever", svid0[1] ),log_data.name2,this.ruins_type[log_data.flag2],resultT);
}
//結算
for(let v in log_data.int_args){
let arg = log_data.int_args[v];
if(arg.key == 1 || arg.key == 2 || arg.key == 4){
str += cc.js.formatStr(this.log_type[arg.key],arg.val);
}
}
let item = cc.instantiate(this.logItem);
if(item){
item.parent = this.content;
nx.gui.setString(item,"",str);
}
}
},
onPreClosed() {
nx.bridge.NodeChidrenDestroy(this.content);
},
});