// -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里是描述这个窗体的作用的 //
Create: 2019-03-29 14:49:49 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var HeroController = require("hero_controller") var StrongerController = require("stronger_controller") var HeroConst = require("hero_const") var StrongerPanelItem = require("Stronger_panel_item") var CommonScrollView = require("common_scrollview"); var StrongerEvent = require("stronger_event") var StrongerPanel = cc.Class({ extends: BasePanel, ctor: function () { this.prefabPath = PathTool.getPrefabPath("stronger", "stronger_panel"); this.partner_id = arguments[0] || 0 //-- 选中的英雄 this.ctrl = StrongerController.getInstance(); this.model = StrongerController.getInstance().getModel() this.partner_id_indedx = 0 this.partnerList = [] this.cur_hero_item = null }, // 可以初始化声明一些变量的 initConfig:function(){ }, // 初始化一些配置数据,可以用于声明一些变量之类的 initPanel:function(){ this.hero_con_nd = this.seekChild("hero_con"); this.selected_nd = this.seekChild("selected_nd") this.scroll_con_nd = this.seekChild("scroll_con") this.now_hero_val_lb = this.seekChild("now_hero_val",cc.Label) this.loadingbar_exp_lb = this.seekChild("loadingbar_exp",cc.Label) this.loadingbar_bg_pb = this.seekChild("loadingbar_bg",cc.ProgressBar) let size = cc.size(this.scroll_con_nd.width,this.scroll_con_nd.height) let setting_2 = { item_class : StrongerPanelItem, //-- 单元类 start_x : 0, //-- 第一个单元的X起点 space_x : 10, //-- x方向的间隔 start_y : 0, //-- 第一个单元的Y起点 space_y : 8, //-- y方向的间隔 item_width : 617, //-- 单元的尺寸width item_height : 142, //-- 单元的尺寸height row : 0, //-- 行数,作用于水平滚动类型 col : 1, //-- 列数,作用于垂直滚动类型 } this.item_scroll = new CommonScrollView(); this.item_scroll.createScroll(this.scroll_con_nd,cc.v2(-size.width/2,0),ScrollViewDir.vertical,ScrollViewStartPos.top,size,setting_2,cc.v2(0,0)) this.createHeroList() }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent:function(){ var self = this this.addGlobalEvent(StrongerEvent.UPDATE_SCROE,function (data){ if (self.cur_hero_item) { let cur_hero_vo = self.cur_hero_item.getData() if (cur_hero_vo.bid == data.partner_bid) { this.refreshViewByHero(cur_hero_vo) } } }.bind(this)) }, // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了 onShow:function(params){ }, // 面板设置不可见的回调,这里做一些不可见的屏蔽处理 onHide:function(){ }, // --创建英雄列表 createHeroList( ){ var self = this // --只显示上阵英雄 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 (self.partner_id == 0 && show_list.length == 0 ){ // -- 没有默认选中的英雄则选中第一个 self.partner_id = hero_vo.partner_id } show_list.push(hero_vo) } if(show_list.length == 0)return for(let i=0;i