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

127 lines
3.2 KiB
JavaScript

const BriComp = require("bridge.component")
const 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 () {
this._super();
this.ctrl = BattleController.getInstance();
let self = this;
this.bindGEvent(BattleEvent.BATTLE_HARM_DATA,self.setHarmData.bind(self));
},
start () {
},
onDisable(){
this.list.rebuild([]);
// 监听事件释放
this.unbindGEvents();
// 视图监听释放
this.vunbind();
},
onDestroy(){
},
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;
}
}
//英雄列表
let list = [];
let index = 0;
for (var i in this.left_hero_data) {
let 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(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;
}
}
let list = [];
for (var i in this.left_hero_data) {
let v = {};
v.data = this.left_hero_data[i];
v.index = index;//1 伤害 2 治疗
v.left_max_harm = left_max_harm;
v.left_max_cure = left_max_cure;
list.push(v)
}
this.list.rebuild(list);
},
changeSelectedTab: function (index) {
this.refreshData(index);
gcore.GlobalEvent.fire(BattleEvent.BATTLE_HARM_MVP, index)
},
// update (dt) {},
});