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