"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();