146 lines
3.6 KiB
JavaScript
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();
|