162 lines
4.4 KiB
JavaScript
162 lines
4.4 KiB
JavaScript
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<v.limit.length;++i){
|
|
let lData = v.limit[i]
|
|
let open_status = this.model.checkStrongItemIsOpen(lData)
|
|
if (!open_status){
|
|
is_open = false
|
|
break
|
|
}
|
|
}
|
|
if (is_open){
|
|
let data = v;
|
|
let obj = this.model.getStrongerValByBid(bid, v.id)
|
|
data.score_val = obj.scroe_val
|
|
data.max_val = obj.max_val
|
|
data.type = 1;
|
|
list_data.push(data)
|
|
}
|
|
}
|
|
this.scroll_con.rebuild(list_data)
|
|
},
|
|
getCurHero( ){
|
|
return this.cur_hero_item
|
|
},
|
|
|
|
desPartners(){
|
|
// if(this.partnerList){
|
|
// for(let i=0;i<this.partnerList.length;++i){
|
|
// this.partnerList[i].deleteMe()
|
|
// }
|
|
this.partnerList = null;
|
|
// }
|
|
},
|
|
|
|
onDestroy(){
|
|
|
|
}
|
|
|
|
// update (dt) {},
|
|
});
|