Files
fc/dev/project/library/imports/98/9829e534-226e-4ff5-90d3-b1966c44e3ff.js
2026-05-24 10:21:26 +08:00

220 lines
8.3 KiB
JavaScript

"use strict";
cc._RF.push(module, '9829eU0Im5P9ZDTsZZsROP/', 'cmp.rank.more.wnd');
// Scripts/mod/rank/cmp.rank.more.wnd.js
"use strict";
var BridgeWindow = require("bridge.window");
var FxSVC = require("nx.fx.sv.expand");
var RankEvent = require("rank_event");
var RankController = require("rank_controller");
var ArenaEvent = require("arena_event");
var RoleController = require("role_controller");
var RankConstant = require("rank_constant");
var ArenaController = require("arena_controller");
var GuildBossController = require("guildboss_controller");
var GuildbossEvent = require("guildboss_event");
cc.Class({
"extends": BridgeWindow,
properties: {
nodDetailLst: {
"default": null,
type: FxSVC
},
// 排行榜列表标题栏
rankLstTitle: {
"default": null,
type: cc.Node
},
nodSelf: {
"default": null,
type: cc.Node
},
nodEmpty: {
"default": null,
type: cc.Node
},
fab_head: {
"default": null,
type: cc.Prefab
}
},
onLoad: function onLoad() {
this.bindGEvent(ArenaEvent.UpdateLoopChallengeRank, this.freshDetail.bind(this));
this.bindGEvent(RankEvent.RankEvent_Get_Rank_data, this.updateRankListInfo.bind(this));
this.bindGEvent(GuildbossEvent.UpdateGuildDunRank, this.updateRankListInfo.bind(this));
},
onOpenConfigs: function onOpenConfigs(_params) {
var RC = RankController.getInstance();
this.fromOther = _params.type;
var ind = parseInt(this.fromOther);
this.camp_id = _params.camp_id;
RC.send_12901(ind, false);
if (ind == RankConstant.RankType.drama || ind == RankConstant.RankType.tower || ind == RankConstant.RankType.power || ind == RankConstant.RankType.actNewHero || ind == RankConstant.RankType.endless || ind == RankConstant.RankType.rank_role_lev || ind == RankConstant.RankType.relicexpolre) {
RC.send_12900(ind, null, null, false);
} else if (ind == RankConstant.RankType.union) {
RC.send_12903(null, null);
} else if (ind == RankConstant.RankType.arena) {
ArenaController.getInstance().sender20221();
} else if (ind == RankConstant.RankType.union_boss) {
var protocal = {
boss_id: _params.boss_id || 0,
start_num: 1,
end_num: 100
};
GuildBossController.getInstance().SendProtocal(21319, protocal);
}
},
// 竞技场 排行榜
freshDetail: function freshDetail(_data) {
this.updateRankListInfo(_data);
},
updateRankListInfo: function updateRankListInfo(_data) {
var self = this;
var lst = _data.rank_list;
if (this.camp_id) {
var mod = nx.bridge.acts.queryAct(this.camp_id);
if (mod) {
var rankreward = mod.getNewHeroRankReward();
for (var r = 0; r < rankreward.length; r++) {
var reward = rankreward[r];
if (_data.my_idx >= reward.min && _data.my_idx <= reward.max) {
_data.rewards = reward.items;
}
for (var i = 0; i < lst.length; i++) {
var item = lst[i];
if (item.idx >= reward.min && item.idx <= reward.max) {
item.rewards = reward.items;
}
}
}
}
}
nx.gui.setActive(this.nodEmpty, "", nx.dt.arrEmpty(lst));
// console.log( "路径" + path );
cc.loader.loadRes("prefab/rank/fabs/itemT" + this.fromOther, function (err, fab) {
if (fab) {
var _item = cc.instantiate(fab);
self.nodDetailLst.fabItem = fab;
self.nodDetailLst.rebuild(lst);
// this.cmpHead = node.getComponent( "cmp.common.header" );
}
});
this.setRankLstTitle();
this.freshSelf(_data);
// console.log( "刷新排行数据" + JSON.stringify( _data ) );
},
// 显示具体列表的标题
setRankLstTitle: function setRankLstTitle() {
var titles = RankConstant.RankDetailTitle[this.fromOther];
var cmps = this.rankLstTitle.getComponentsInChildren(cc.Label);
for (var i = 0; i < cmps.length; i++) {
nx.gui.setString(cmps[i].node, "", nx.text.getKey(titles[i]) || "");
}
},
freshSelf: function freshSelf(_data) {
var role_vo = RoleController.getInstance().getRoleVo();
var self = this;
var index = this.fromOther == RankConstant.RankType.arena || this.fromOther == RankConstant.RankType.union_boss ? _data.rank : _data.my_idx;
var info = _data;
var avtar = null;
var nod = null;
// console.log( "自己数据" + "prefab/rank/fabs/self" + self.fromOther );
cc.loader.loadRes("prefab/rank/fabs/self" + self.fromOther, function (err, fab) {
if (fab) {
var item = cc.instantiate(fab);
item.parent = self.nodSelf;
avtar = nx.gui.find(item, "avatar");
nod = item;
if (avtar) {
var node = cc.instantiate(self.fab_head);
node.parent = avtar;
self.cmpHead = node.getComponent("cmp.common.header");
}
var cfg = game.configs.avatar_data.data_avatar[info.avatar_bid];
var frame = cfg ? cfg.base_id : 0;
if (self.cmpHead) {
if (self.fromOther == RankConstant.RankType.arena || self.fromOther == RankConstant.RankType.union_boss) {
self.cmpHead.setData(role_vo);
} else {
// 更新
self.cmpHead.setHeadRes(info.face_id);
self.cmpHead.setFrameRes(frame);
}
}
if (nod) {
nx.gui.hideAllChildren(nod, "rank");
if (index == 0) {
nx.gui.setString(nod, "rank/txt2", nx.text.getKey("Rank0"));
nx.gui.setActive(nod, "rank/txt", false);
nx.gui.setActive(nod, "rank/txt2", true);
} else if (index < 4 && index > 0) {
nx.gui.setActive(nod, "rank/icon_" + index, true);
} else {
nx.gui.setActive(nod, "rank/icon_4", true);
nx.gui.setString(nod, "rank/txt", index);
nx.gui.setActive(nod, "rank/txt", true);
}
var desc = "";
if (self.fromOther == RankConstant.RankType.drama) {
desc = gdata("dungeon_data", "data_drama_dungeon_info", [info.my_val1 || 0]);
if (info.my_val1 == 0) {
desc = 0;
} else {
desc = desc.name;
}
} else if (self.fromOther == RankConstant.RankType.arena) {
desc = info.score;
} else if (self.fromOther == RankConstant.RankType.union) {
desc = info.power;
var union = "";
nx.gui.setString(nod, "union", union = info.gname == "" ? nx.text.getKey("NoUnion") : "");
nx.gui.setString(nod, "names/name", nx.text.getKey("RankGud") + info.gname);
nx.gui.setActive(nod, "names/leader_name", info.leader_name != "");
nx.gui.setString(nod, "names/leader_name", union = info.leader_name != "" ? nx.text.getKey("Leader_") + info.leader_name : info.leader_name);
nx.gui.setString(nod, "lev", "Lv." + info.glev);
} else if (self.fromOther == RankConstant.RankType.union_boss) {
nx.gui.setString(nod, "dps", info.mydps);
desc = "";
} else if (self.fromOther == RankConstant.RankType.rank_role_lev) {
desc = info.lev;
} else {
// 3 || 6
if (self.fromOther == RankConstant.RankType.tower) {
desc = nx.dt.fmtTimeFromSecs(info.my_val2);
nx.gui.setString(nod, "floor", info.my_val1 + "");
nx.gui.setString(nod, "info/power", desc);
} else {
desc = info.my_val1 + "";
}
}
nx.gui.setString(nod, "info/power", desc);
nx.gui.setString(nod, "name", role_vo.name);
var rnod = nx.gui.find(nod, "rewards");
if (rnod && info.rewards) {
var cmp = nx.gui.getComponent(rnod, "", "cmp.common.itemlayout");
if (cmp) {
cmp.rebuild(info.rewards);
}
}
}
// this.cmpHead = node.getComponent( "cmp.common.header" );
}
});
// this.scheduleOnce( () =>{
// }, 0.3 );
}
});
/************
* [21319]:{"boss_id":401,"start_num":1,"end_num":100}
[21319]:{"rank":0,"mydps":0,"worship":0,"day_worship":0,
"rank_list":[
{"rank":1,"r_rid":34746,"r_srvid":"dev_2","name":"Myjamkin","family_name":"YTGHFGHF","all_dps":3476438,"face_id":10401,"lev":200,"power":515547,"avatar_bid":1000,"look_id":110401,"face_update_time":0,"face_file":"","worship":0,"worship_status":0}]}
*/
cc._RF.pop();