Files
fc/dev/project/library/imports/8a/8a4535d1-55e8-44bc-a36e-b2f0c60beeb2.js
T
2026-05-24 10:21:26 +08:00

114 lines
3.0 KiB
JavaScript

"use strict";
cc._RF.push(module, '8a453XRVehEvKNusvDGC+6y', 'cmp.battle.harm');
// Scripts/mod/battle/cmp/cmp.battle.harm.js
"use strict";
var BriComp = require("bridge.component");
var BaseLayout = require("cmp.common.itemlayout");
var BattleEvent = require("battle_event");
var PathTool = require("pathtool");
var BattleController = require("battle_controller");
var RoleController = require("role_controller");
cc.Class({
"extends": BriComp,
properties: {
list: {
"default": null,
type: BaseLayout
}
},
// LIFE-CYCLE CALLBACKS:
onLoad: function onLoad() {
this._super();
this.ctrl = BattleController.getInstance();
var self = this;
this.bindGEvent(BattleEvent.BATTLE_HARM_DATA, self.setHarmData.bind(self));
},
start: function start() {},
onDisable: function onDisable() {
this.list.rebuild([]);
// 监听事件释放
this.unbindGEvents();
// 视图监听释放
this.vunbind();
},
onDestroy: function onDestroy() {},
setHarmData: function setHarmData(data) {
if (data && data.hurt_statistics) {
this.data = data;
this.left_hero_data = {};
// var right_hero_data = {};
for (var k in data.hurt_statistics) {
var v = data.hurt_statistics[k];
if (v.type == 1) {
this.left_hero_data = v.partner_hurts;
}
// else if (v.type == 2) {
// right_hero_data = v.partner_hurts;
// }
}
var left_max_harm = 0;
var left_max_cure = 0;
for (var k in this.left_hero_data) {
var v = this.left_hero_data[k];
if (v.dps > left_max_harm) {
left_max_harm = v.dps;
}
if (v.cure > left_max_cure) {
left_max_cure = v.cure;
}
}
//英雄列表
var list = [];
var index = 0;
for (var i in this.left_hero_data) {
var _v = {};
_v.data = this.left_hero_data[i];
_v.left_max_harm = left_max_harm;
_v.left_max_cure = left_max_cure;
_v.index = 1;
_v.idx = index;
index++;
list.push(_v);
}
this.list.rebuild(list);
}
},
refreshData: function refreshData(index) {
if (nx.dt.arrEmpty(this.left_hero_data)) {
return;
}
var left_max_harm = 0;
var left_max_cure = 0;
for (var k in this.left_hero_data) {
var v = this.left_hero_data[k];
if (v.dps > left_max_harm) {
left_max_harm = v.dps;
}
if (v.cure > left_max_cure) {
left_max_cure = v.cure;
}
}
var list = [];
for (var i in this.left_hero_data) {
var _v2 = {};
_v2.data = this.left_hero_data[i];
_v2.index = index; //1 伤害 2 治疗
_v2.left_max_harm = left_max_harm;
_v2.left_max_cure = left_max_cure;
list.push(_v2);
}
this.list.rebuild(list);
},
changeSelectedTab: function changeSelectedTab(index) {
this.refreshData(index);
gcore.GlobalEvent.fire(BattleEvent.BATTLE_HARM_MVP, index);
}
// update (dt) {},
});
cc._RF.pop();