"use strict"; cc._RF.push(module, '4d7163AdwNB2765Y356ieU8', 'cmp.pvp.rank.wnd'); // Scripts/mod/pvp/cmp/cmp.pvp.rank.wnd.js "use strict"; var BridgeWindow = require("bridge.window"); var ArenaEvent = require("arena_event"); var FxSVC = require("nx.fx.sv.expand"); var ArenaController = require("arena_controller"); var FxTogs = require("nx.fx.togs"); var RoleEvent = require("role_event"); var LadderEvent = require("ladder_event"); var RoleController = require("role_controller"); var defaultList = 3; // 标签页对应关系 var TabPage = [{ key: "RankNow", "goto": 0 }, { key: "DailyAwards" || "RankAwards", "goto": 1 }, { key: "SeasonAwards", "goto": 2 }]; cc.Class({ "extends": BridgeWindow, properties: { nodOps: { "default": null, type: cc.Node }, nodToggle: { "default": null, type: FxTogs }, nodLst: { "default": null, type: FxSVC }, fabSelfAward: { "default": null, type: cc.Prefab }, fabSelfArena: { "default": null, type: cc.Prefab }, fabSelfLadder: { "default": null, type: cc.Prefab }, fabSelfWeekChampion: { "default": null, type: cc.Prefab }, fabItemArena: { "default": null, type: cc.Prefab }, fabItemAward: { "default": null, type: cc.Prefab }, fabItemLadder: { "default": null, type: cc.Prefab }, fabItemFirst: { "default": null, type: cc.Prefab }, fabItemWeekChampion: { "default": null, type: cc.Prefab } }, onLoad: function onLoad() { this.bindGEvent(ArenaEvent.UpdateLoopChallengeRank, this.freshOtherUI.bind(this)); this.bindGEvent(RoleEvent.WorshipOtherRole, this.freshOneWorship.bind(this)); this.bindGEvent(LadderEvent.UpdateLadderRankData, this.freshLadderUI.bind(this)); this.bindGEvent(ArenaEvent.UpdateChampionRankEvent, this.freshWeeklyChampionUI.bind(this)); // Tog监听 this.nodToggle.posTog = this.onTogMenu.bind(this); this.loadPrefab(); }, loadPrefab: function loadPrefab() { if (nx.gui.find(this.nodLst, "self_rank").children.length == 0) { var itemnod = cc.instantiate(this.fabSelfAward); itemnod.parent = nx.gui.find(this.nodLst, "self_rank"); var item5nod = cc.instantiate(this.fabSelfArena); item5nod.parent = nx.gui.find(this.nodLst, "self_rank"); var itemlnod = cc.instantiate(this.fabSelfLadder); itemlnod.parent = nx.gui.find(this.nodLst, "self_rank"); var fabSelfWeekChampion = cc.instantiate(this.fabSelfWeekChampion); fabSelfWeekChampion.parent = nx.gui.find(this.nodLst, "self_rank"); nx.gui.hideAllChildren(this.nodLst, "self_rank"); } if (nx.gui.find(this, "templates").children.length == 0) { var fabItemArena = cc.instantiate(this.fabItemArena); fabItemArena.parent = nx.gui.find(this, "templates"); var fabItemAward = cc.instantiate(this.fabItemAward); fabItemAward.parent = nx.gui.find(this, "templates"); var fabItemLadder = cc.instantiate(this.fabItemLadder); fabItemLadder.parent = nx.gui.find(this, "templates"); var itemfnod = cc.instantiate(this.fabItemFirst); itemfnod.parent = nx.gui.find(this, "templates"); var fabItemWeekChampion = cc.instantiate(this.fabItemWeekChampion); fabItemWeekChampion.parent = nx.gui.find(this, "templates"); } }, onOpenConfigs: function onOpenConfigs(_params) { this.dfg = _params.dfg; this.sfg = _params.sfg; this.cb = _params.cb; this.show = _params.show; var ops = _params.ops; var chd = this.nodOps.children; this.defaultDesc = _params.desc; var len = _params.len ? _params.len : defaultList; nx.gui.gocChildren(this.nodOps, "", len); var tcmp = nx.gui.getComponent(this.nodOps, "", "nx.fx.togs"); if (tcmp) { // 重建标签结构 tcmp.rebuildTogs(); // 标签显示切换 tcmp._freshTogShow(); } var _goto = 0; for (var i = 0; i < chd.length; i++) { var op = ops[i]; if (!op || nx.dt.strEmpty(op)) { nx.gui.setActive(chd[i], "", false); continue; } if (this.show == op) { _goto = i; } nx.gui.setActive(chd[i], "", true); nx.gui.setString(chd[i], "on/txt", nx.text.getKey(op)); nx.gui.setString(chd[i], "off/txt", nx.text.getKey(op)); } // TabPage.forEach( _tab => { // if( this.show == _tab.key ){ // goto = _tab.goto; // } // } ) this.nodToggle.togTo(_goto); this.activeMenu(_goto + 1); // this.freshData(); }, // 激活菜单 activeMenu: function activeMenu(_bagCode) { // console.log( "背包切换:", _bagCode ); if (this.curType == _bagCode) { return; } this.curType = _bagCode; if (_bagCode == 1) { this.freshInfo(); var T = nx.gui.find(this.node, "templates/itemT5"); this.nodLst.tmpItem = T; this.nodLst.rebuild([]); this.nodLst.tmpItem = null; nx.dt.fnInvoke(this.cb); } if (_bagCode == 2) { var _T = nx.gui.find(this.node, "templates/award"); // widget.bottom = 20.70; // widget.updateAlignment(); this.nodLst.tmpItem = _T; this.freshData(this.dfg); this.freshInfo(); } if (_bagCode == 3) { var _T2 = nx.gui.find(this.node, "templates/award"); // widget.bottom = 20.70; // widget.updateAlignment(); this.nodLst.tmpItem = _T2; this.freshData(this.sfg); this.freshInfo(); } if (_bagCode == 4) { var _T3 = nx.gui.find(this.node, "templates/faward"); // widget.bottom = 20.70; // widget.updateAlignment(); this.nodLst.tmpItem = _T3; this.freshData(this.dfg); this.freshInfo(); } if (_bagCode == 5) { var _T4 = nx.gui.find(this.node, "templates/faward"); // widget.bottom = 20.70; // widget.updateAlignment(); this.nodLst.tmpItem = _T4; this.freshData(this.sfg); this.freshInfo(); } }, dealSameCmp: function dealSameCmp(_nod, _data, _desc) { var tnod = nx.gui.find(this.nodLst, "title"); nx.gui.setString(tnod, "nod_rank/score", _desc); var rank_node = _nod; nx.gui.setActive(rank_node, "icon_" + _data.rank, _data.rank > 0 && _data.rank < 4); nx.gui.setActive(rank_node, "icon_4", _data.rank >= 4); if (_data.rank >= 4) { nx.gui.setString(rank_node, "txt", _data.rank); } if (_data.rank == 0) { nx.gui.setString(rank_node, "txt2", nx.text.getKey("Rank0")); } nx.gui.setActive(tnod, "nod_rank", true); }, freshOtherUI: function freshOtherUI(_data) { // 设置顶部 标题 var T = nx.gui.find(this.node, "templates/itemT5"); var nod = nx.gui.find(this.nodLst, "self_rank"); var rank_node = nx.gui.find(nod, "item5/rank"); // _data.rank > 0 ? _data.rank < 4 ? nx.gui.setActive( rank_node, "icon_" + _data.rank, true ) : nx.gui.setActive( rank_node, "icon_4" , true ) : // nx.gui.setString( rank_node, "txt2", nx.text.getKey( "Rank0" ) ); this.dealSameCmp(rank_node, _data, nx.text.getKey("ArenaScore")); nx.gui.setString(nod, "item5/info/score/txt", _data.score); nx.gui.setString(nod, "item5/info/power", _data.worship); this.nodLst.tmpItem = T; var lst = _data.rank_list; this.freshData(lst); }, freshLadderUI: function freshLadderUI(_data) { var T = nx.gui.find(this.node, "templates/itemTl"); var nod = nx.gui.find(this.nodLst, "self_rank"); var rank_node = nx.gui.find(nod, "iteml/rank"); this.dealSameCmp(rank_node, _data, nx.text.getKey("lab_rank_name_6")); var role = RoleController.getInstance().getRoleVo(); nx.gui.setString(nod, "iteml/info/power", role.power); nx.gui.setString(nod, "iteml/name", role.name); nx.gui.setActive(this.nodLst, "self_rank/iteml", true); this.nodLst.tmpItem = T; var lst = _data.rank_list; this.freshData(lst); }, freshWeeklyChampionUI: function freshWeeklyChampionUI(_data) { var T = nx.gui.find(this.node, "templates/itemTc"); var nod = nx.gui.find(this.nodLst, "self_rank"); var rank_node = nx.gui.find(nod, "itemc/rank"); this.dealSameCmp(rank_node, _data, nx.text.getKey("lab_rank_name_6")); var role = RoleController.getInstance().getRoleVo(); nx.gui.setString(nod, "itemc/info/power/power", _data.power); nx.gui.setString(nod, "itemc/info/score", _data.score); nx.gui.setString(nod, "itemc/name", role.name); nx.gui.setString(nod, "itemc/info/worship/num", _data.worship); nx.gui.setActive(this.nodLst, "self_rank/itemc", true); this.nodLst.tmpItem = T; var lst = _data.rank_list; this.freshData(lst); }, // 切换 onTogMenu: function onTogMenu(_index) { this.activeMenu(parseInt(_index) + 1); }, freshData: function freshData(_data) { nx.gui.setActive(this.nodLst, "empty", nx.dt.arrEmpty(_data)); this.nodLst.rebuild(_data); }, freshOneWorship: function freshOneWorship(_data) { var chd = nx.gui.find(this.nodLst, "scv/view/content").children; // {"code":1,"msg":"","type":0,"rid":79,"srv_id":"dev_2","idx":7} for (var i = 0; i < chd.length; i++) { var item = chd[i]; var cmp = item.svItem; if (cmp) { if (cmp.mdata && cmp.mdata.rid == _data.rid) { var data = nx.dt.objClone(cmp.mdata); data.worship = !nx.dt.strEmpty(cmp.mdata.srv_id) && cmp.mdata.srv_id != "robot" ? cmp.mdata.worship + 1 : cmp.mdata.worship; data.worship_status = cmp.mdata.worship_status + 1; cmp.rebind(i, data); } } } }, freshInfo: function freshInfo() { // 设置相关的 底部显示信息 var nods = nx.gui.find(this.nodLst, "self_rank/item"); var dfg = game.configs.arena_data.data_const.daily_reward_time; var desc = ""; if (!this.defaultDesc) { desc = this.curType == 2 ? dfg.desc : ""; } else { desc = this.defaultDesc; } var model = ArenaController.getInstance().getModel(); var self_data = model.getMyLoopData(); nx.gui.setActive(this.nodLst, "self_rank/item/time", this.curType == 3); nx.gui.setActive(this.nodLst, "self_rank/item5", this.curType == 1); nx.gui.setString(nods, "desc", desc); nx.gui.setString(nods, "time/txt", desc); nx.gui.setActive(this.nodLst, "self_rank/item", this.curType == 2 || this.curType == 3); nx.gui.setActive(this.nodLst, "self_rank/iteml", false); nx.gui.setActive(this.nodLst, "nod_rank", false); // 设置顶部 标题 nx.gui.setActive(this.nodLst, "empty", this.curType == 1); nx.gui.setActive(this.nodLst, "self_rank/itemc", false); // 设置顶部 标题 var nod = nx.gui.find(this.nodLst, "title"); nx.gui.setActive(nod, "nod_rank", false); nx.gui.setActive(nod, "nod_reward/award", this.curType == 2); nx.gui.setActive(nod, "nod_reward/award_s", this.curType == 3); nx.gui.setActive(nod, "nod_reward", this.curType == 2 || this.curType == 3); nx.gui.setCdTxt(nods, "time/txt", self_data.end_time - Math.floor(cc.sys.now() / 1000), function () {}); // nx.gui.setActive( this.nodLst, "self_rank", _bagCode == 1 ); }, // 重载:关闭前 onPreClosed: function onPreClosed() { var nod = nx.gui.find(this.nodLst, "self_rank"); var tnod = nx.gui.find(this, "templates"); for (var i = 0; i < nod.children.length; i++) { var cnod = nod.children[i]; var ttnod = tnod.children[i]; if (cnod) { cnod.destroy(); } if (ttnod) { ttnod.destroy(); } } } }); cc._RF.pop();