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) {}, });