Files
fc/dev/project/library/imports/af/af634304-decc-46a7-a5b9-076846cd36f7.js
2026-05-24 10:21:26 +08:00

146 lines
3.6 KiB
JavaScript

"use strict";
cc._RF.push(module, 'af634ME3sxGp6W5B2hGzTb3', 'cmp.act.elite.rank.wnd');
// Scripts/mod/acts/elite/cmps/cmp.act.elite.rank.wnd.js
"use strict";
/******************************************************************
*
* 精英召唤排行榜界面
*
******************************************************************/
var BridgeWindow = require("bridge.window");
var FxSVC = require("nx.fx.sv.expand");
var EliteMod = require("act.elite.mod");
var FxTogs = require("nx.fx.togs");
cc.Class({
"extends": BridgeWindow,
properties: {
togMenu: {
"default": null,
type: FxTogs
},
svcList: {
"default": null,
type: FxSVC
},
nodSelf: {
"default": null,
type: cc.Node
},
nodEmpty: {
"default": null,
type: cc.Node
}
},
// 重载:参数打开
onOpenConfigs: function onOpenConfigs(_params) {
// 缓存数据
this.cache1 = null;
this.cache2 = null;
this.setEmpty();
// Tog监听
this.togMenu.posTog = this.onTogMenu.bind(this);
this.togMenu.togTo(0);
this.onTogMenu(0);
},
// 获取当前配置
getRewards: function getRewards() {
var DATA = game.configs.recruit_holiday_lucky_data;
return this.today ? DATA.data_day_rank_reward : DATA.data_rank_reward;
},
// 置空
setEmpty: function setEmpty() {
// 制作演示数据
var rewards = this.getRewards();
if (nx.dt.arrEmpty(rewards)) {
nx.gui.setActive(this.nodEmpty, "", true);
nx.gui.setActive(this.svcList, "", false);
nx.gui.setActive(this.nodSelf, "", false);
return;
}
var args = [];
var push = function push(_idx) {
var t = {
idx: _idx,
face_id: 0,
rewards: []
};
for (var i = 0; i < rewards.length; ++i) {
if (_idx >= rewards[i].min && _idx <= rewards[i].max) {
t.rewards = rewards[i].items;
break;
}
}
args.push(t);
};
for (var i = 1; i <= 10; ++i) {
push(i);
}
nx.gui.setActive(this.nodSelf, "", false);
this.freshRank({
my_idx: 0,
rank_list: args
});
},
// 刷新排行榜
freshRank: function freshRank(_data) {
if (nx.dt.objEmpty(_data) || nx.dt.arrEmpty(_data.rank_list)) {
this.setEmpty();
return;
}
nx.gui.setActive(this.nodEmpty, "", false);
// 列表
nx.gui.setActive(this.svcList, "", true);
this.svcList.rebuild(_data.rank_list);
var node = nx.gui.setActive(this.nodSelf, "", true);
if (_data.my_idx == 0) {
nx.gui.setActive(node, "empty", true);
nx.gui.setActive(node, "normal", false);
nx.gui.setString(node, "empty/tip", nx.text.getKey(_data.tip || "StepUpNoRank"));
return;
}
nx.gui.setActive(node, "empty", false);
nx.gui.setActive(node, "normal", true);
var cmp = nx.gui.getComponent(node, "normal", "cmp.act.elite.rank.item");
if (cmp) {
cmp.setData({
idx: _data.my_idx,
face_id: _data.face_id,
name: _data.name,
val1: _data.my_val1
});
}
},
// 等级切换
onTogMenu: function onTogMenu(_index) {
var _this = this;
this.today = _index == 0;
var model = EliteMod.getInstance();
if (!model) {
return;
}
var cache = this.today ? this.cache1 : this.cache2;
if (nx.dt.objNEmpty(cache)) {
this.freshRank(cache);
return;
}
model.reqRankList(this.today, function (_ret, _data) {
if (!_ret) {
_this.setEmpty();
return;
}
if (_this.today) {
_this.cache1 = _data;
} else {
_this.cache2 = _data;
}
_this.freshRank(_data);
});
}
});
cc._RF.pop();