150 lines
3.9 KiB
JavaScript
150 lines
3.9 KiB
JavaScript
|
|
"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();
|