// --------------------------------------------------------------------
// @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