Files
fc/dev/project/library/imports/90/90c049dd-ac22-4c2f-b281-e56063292f1f.js
2026-05-24 10:21:26 +08:00

147 lines
4.3 KiB
JavaScript

"use strict";
cc._RF.push(module, '90c04ndrCJML7KB5WBjKS8f', 'cmp.stronger.panel');
// Scripts/mod/stronger/cmp/cmp.stronger.panel.js
"use strict";
var BridgeComponent = require("bridge.component");
var PathTool = require("pathtool");
var HeroController = require("hero_controller");
var StrongerController = require("stronger_controller");
var StrongerEvent = require("stronger_event");
var BaseLayout = require("cmp.common.itemlayout");
var 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: function 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: function start() {
// this.selected_nd.active = false;
},
onEnable: function onEnable() {
this.createHeroList();
},
onDisable: function onDisable() {
this.hero_con.rebuild([]);
this.scroll_con.rebuild([]);
},
revPartnerId: function revPartnerId(id) {
this.partner_id = id || 0; //-- 选中的英雄
},
refreshScore: function refreshScore(data) {
if (this.cur_hero_item) {
var cur_hero_vo = this.cur_hero_item; //.getData()
if (cur_hero_vo.bid == data.partner_bid) {
this.refreshItemList(cur_hero_vo);
}
}
},
// --创建英雄列表
createHeroList: function createHeroList() {
// --只显示上阵英雄
HeroController.getInstance().getModel().getAllHeroArray();
var list = HeroController.getInstance().getModel().getMyPosList();
var show_list = [];
for (var k in list) {
//k,v in pairs(list) do
var v = list[k];
var 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 onFocusChanged(_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: function _onClickHero(index) {
var self = this;
this.partner_id_indedx = index;
// this.selected_nd.x =60+index*140;
var 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: function refreshItemList(bid) {
var list_data = [];
for (var k in game.configs.stronger_data.data_stronger_two) {
var v = game.configs.stronger_data.data_stronger_two[k];
var is_open = true;
for (var i = 0; i < v.limit.length; ++i) {
var lData = v.limit[i];
var open_status = this.model.checkStrongItemIsOpen(lData);
if (!open_status) {
is_open = false;
break;
}
}
if (is_open) {
var data = v;
var 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: function getCurHero() {
return this.cur_hero_item;
},
desPartners: function desPartners() {
// if(this.partnerList){
// for(let i=0;i<this.partnerList.length;++i){
// this.partnerList[i].deleteMe()
// }
this.partnerList = null;
// }
},
onDestroy: function onDestroy() {} // update (dt) {},
});
cc._RF.pop();