"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();