const BridgeComponent = require("bridge.component"); var PathTool = require("pathtool"); var HeroController = require("hero_controller") var StrongerController = require("stronger_controller") var StrongerEvent = require("stronger_event") const BaseLayout = require( "cmp.common.itemlayout" ); const FxSVC = require( "nx.fx.sv.expand" ); cc.Class({ extends: BridgeComponent, properties: { scroll_con:{ default:null, type:BaseLayout }, hero_con:{ default:null, type:FxSVC }, selected_nd:{ default:null, type:cc.Node } }, // LIFE-CYCLE CALLBACKS: onLoad () { this._super(); this.ctrl = StrongerController.getInstance(); this.model = this.ctrl.getModel() this.partner_id_indedx = 0 this.partnerList = [] this.cur_hero_item = null this.bindGEvent(StrongerEvent.UPDATE_SCROE,this.refreshScore.bind(this)); this.bindGEvent(StrongerEvent.PATCH_DATA_BY_TYPE,this.revPartnerId.bind(this)); }, start () { // this.selected_nd.active = false; }, onEnable(){ this.createHeroList(); }, onDisable(){ this.hero_con.rebuild([]); this.scroll_con.rebuild([]); }, revPartnerId(id){ this.partner_id = id || 0 //-- 选中的英雄 }, refreshScore(data){ if (this.cur_hero_item) { let cur_hero_vo = this.cur_hero_item;//.getData() if (cur_hero_vo.bid == data.partner_bid) { this.refreshItemList(cur_hero_vo) } } }, // --创建英雄列表 createHeroList( ){ // --只显示上阵英雄 HeroController.getInstance().getModel().getAllHeroArray(); let list = HeroController.getInstance().getModel().getMyPosList() let show_list = []; for (let k in list){ //k,v in pairs(list) do let v = list[k] let hero_vo = HeroController.getInstance().getModel().getHeroById(v.id) if (this.partner_id == 0 && show_list.length == 0 ){ // -- 没有默认选中的英雄则选中第一个 this.partner_id = hero_vo.partner_id } show_list.push(hero_vo) } if(nx.dt.arrEmpty(show_list)){ return false; } this.hero_con.rebuild(show_list); this.partnerList = show_list //show_list[i] // } this._onClickHero(this.partner_id_indedx) }, // 选中切换 onFocusChanged: function( _item ) { // 空 if( nx.dt.objEmpty( _item ) || nx.dt.objEmpty( _item.mdata ) ) { return; } // 聚焦 this.hero_con.cleanFocus(); this.hero_con.addFocus( _item.index ); this._onClickHero(_item.index); }, // -- 点击英雄头像 _onClickHero(index){ var self = this this.partner_id_indedx = index; // this.selected_nd.x =60+index*140; let hero_vo = this.partnerList[index]; // -- 请求伙伴变强相关数据 self.cur_hero_item = hero_vo; self.ctrl.setCurHeroVo(self.cur_hero_item); self.ctrl.sender11070(hero_vo.partner_id) }, refreshItemList(bid){ let list_data = [] for (let k in game.configs.stronger_data.data_stronger_two){ let v = game.configs.stronger_data.data_stronger_two[k] let is_open = true for (let i=0;i