Files
fc/dev/project/library/imports/6d/6da4565d-aef8-4e5a-b081-2593da9232b7.js
T

150 lines
3.9 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, '6da45ZdrvhOWrCBJZPakjK3', 'cmp.battle.settle.detail');
// Scripts/mod/battle/cmp/cmp.battle.settle.detail.js
"use strict";
var NxSpine = require("nx.fx.spine");
var BridgeWindow = require("bridge.window");
var PathTool = require("pathtool");
var BattleEvent = require("battle_event");
cc.Class({
"extends": BridgeWindow,
properties: {
infoNd: {
"default": null,
type: cc.Node
},
infoSp: {
"default": null,
type: NxSpine
},
bMvp: {
"default": null,
type: NxSpine
},
mvp_icon_sp: {
"default": null,
type: NxSpine
},
hurtTxt: {
"default": null,
type: cc.Label
}
},
// LIFE-CYCLE CALLBACKS:
onLoad: function onLoad() {},
start: function start() {},
onOpenConfigs: function onOpenConfigs(params) {
var _this = this;
if (!params || !params.data) {
this.delayClose();
return;
}
var data = params.data;
this.setInfos(data);
this.infoNd.scaleX = 1;
this.infoSp.action("action1_1", false, function (_key, _name) {
if (_key == "start") {
_this.changeMvpDraw(1);
gcore.GlobalEvent.fire(BattleEvent.BATTLE_HARM_DATA, data);
}
if (_key == "complete") {
_this.infoSp.action("action1_2", true);
return;
}
});
},
changeMvpDraw: function changeMvpDraw(type) {
this.bMvp.node.active = true;
this.mvp_icon_sp.node.runAction(cc.fadeIn(0.55).easing(cc.easeIn(0.55)));
if (type == 1) {
if (this.hurt_mvp) {
this.bMvp.action("action1", false);
} else {
this.bMvp.node.active = false;
}
} else {
if (this.cure_mvp) {
this.bMvp.action("action1", false);
} else {
this.bMvp.node.active = false;
}
}
},
//設置mvp
setInfos: function setInfos(data) {
if (nx.dt.arrEmpty(data.hurt_statistics)) {
return;
}
var hurt_arr = data.hurt_statistics;
var partner_hurt = {};
for (var i = 0; i < hurt_arr.length; i++) {
var _data = hurt_arr[i];
if (_data.type == 1) {
//我方數據
partner_hurt = _data.partner_hurts;
}
}
if (nx.dt.arrEmpty(partner_hurt)) {
return;
}
var total_hurt = 0;
var mvp_hurt = 0;
this.mvp_skin_id = 0;
var svp_cure = 0;
this.svp_skin_id = 0;
for (var v in partner_hurt) {
var info = partner_hurt[v];
//总伤害
total_hurt += info.dps;
if (info.dps >= mvp_hurt) {
//生成新的dps
mvp_hurt = info.dps;
this.hurt_mvp = info.bid;
for (var key in info.ext_data) {
if (info.ext_data[key].key == 5) {
this.mvp_skin_id = info.ext_data[key].val;
}
}
}
if (info.cure > svp_cure) {
svp_cure = info.cure;
this.cure_mvp = info.bid;
for (var _key2 in info.ext_data) {
if (info.ext_data[_key2].key == 5) {
this.svp_skin_id = info.ext_data[_key2].val;
}
}
}
}
this.setMvpPartner();
// this.setSvpPartner();
//伤害统计
this.hurtTxt.string = total_hurt;
},
setMvpPartner: function setMvpPartner() {
var _this2 = this;
var mvp_bid = this.hurt_mvp;
var partner_config = game.configs.partner_data.data_partner_base[mvp_bid];
var skin_config = game.configs.partner_skin_data.data_skin_info[this.mvp_skin_id];
//名称和立绘
if (partner_config) {
var bustid = partner_config.bustid;
if (skin_config) {
bustid = skin_config.bustid;
}
var bust_res = PathTool.getSpinePath(bustid, "show", false);
this.mvp_icon_sp.load(bust_res, function (_e) {
if (!_e) {
_this2.mvp_icon_sp.action("action1", true);
} else {
_this2.mvp_icon_sp.stop();
}
});
}
},
onPreClosed: function onPreClosed() {} // update (dt) {},
});
cc._RF.pop();