"use strict"; cc._RF.push(module, '2cc3atCfvVHxKnwz6BkBOlM', 'cmp.cchampion.worship.wnd'); // Scripts/mod/pvp/crosschampion/cmp/cmp.cchampion.worship.wnd.js "use strict"; var BridgeWindow = require("bridge.window"); var ArenaConst = require("arena_const"); var RoleEvent = require("role_event"); var HeroController = require("hero_controller"); var HeroConst = require("hero_const"); var CChampionController = require("crosschampion_controller"); var CrosschampionEvent = require("crosschampion_event"); var RoleController = require("role_controller"); var ArenaEvent = require("arena_event"); var SVCItem = require("nx.fx.sv.expand.item"); var TipsController = require("tips_controller"); cc.Class({ "extends": BridgeWindow, properties: { nodTopThree: { "default": [], type: cc.Node, displayName: "前三" }, nodSelfWor: { "default": null, type: cc.Node, displayName: "膜拜次數" }, nodDesc: { "default": null, type: cc.Node, displayName: "説明相關" } }, onLoad: function onLoad() { this.bindGEvent(CrosschampionEvent.UpdateChampionTop3Event, this.freshTopThree.bind(this)); this.bindGEvent(RoleEvent.WorshipOtherRole, this.freshOneWorship.bind(this)); this.bindGEvent(ArenaEvent.UpdateChampionRoleInfoEvent, this.freshMyRank.bind(this)); this.bindGEvent(RoleEvent.UpdateCrossChamWorshipEvent, this.freshSelfWorship.bind(this)); this.bindGEvent(ArenaEvent.UpdateChampionBaseInfoEvent, this.freshRace.bind(this)); }, onOpenConfigs: function onOpenConfigs(_params) { // 获取膜拜信息等 var CCht = CChampionController.getInstance(); var RC = RoleController.getInstance(); CCht.reqChampion(); CCht.sender26206(); nx.bridge.mainui.isracing = true; RC.requestCrossChamWorshipNum(); }, freshRace: function freshRace(_stage) { nx.bridge.vset("CChampion", _stage); }, // 重载:关闭前 onPreClosed: function onPreClosed() {}, freshTopThree: function freshTopThree(_rankdata) { /**** * 26213]:{"rank_list":[ * {"rid":4,"srv_id":"","name":"紫翠翠容","lev":58,"rank":1,"sex":0,"lookid":110401,"worship":15,"worship_status":0}, * {"rid":9,"srv_id":"","name":"從懷憐寒","lev":59,"rank":2,"sex":1,"lookid":130401,"worship":20,"worship_status":0}, * {"rid":20,"srv_id":"","name":"翠柔凡梅","lev":57,"rank":3,"sex":0,"lookid":140403,"worship":31,"worship_status":0}]} */ var rankdata = _rankdata; // if( nx.dt.arrEmpty( rankdata ) ){ this.setEmpty(rankdata); // } var chd = this.nodTopThree; for (var i = 0; i < chd.length; i++) { var item = chd[i]; var data = rankdata[i]; if (data) { var cmp = item.getComponent(SVCItem); if (cmp) { cmp.rebind(i, data); } } } }, setEmpty: function setEmpty(_rankdata) { this.nodTopThree.forEach(function (_nod) { nx.gui.setActive(_nod, "empty", nx.dt.arrEmpty(_rankdata)); nx.gui.setActive(_nod, "wor", !nx.dt.arrEmpty(_rankdata)); nx.gui.setString(_nod, "name", ""); }); }, freshSelfWorship: function freshSelfWorship(_selfdata) { nx.gui.setString(this.nodSelfWor, "txt", _selfdata); }, freshOneWorship: function freshOneWorship(_data) { var chd = this.nodTopThree; // {"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.getComponent(SVCItem); 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.worship + 1 : cmp.mdata.worship; data.worship_status = cmp.mdata.worship_status + 1; cmp.rebind(i, data); } } } }, freshMyRank: function freshMyRank(_data) { /* {"start_time":1691856000,"end_time":1692460500, "step":0,"step_status":0,"step_status_time":1691899200, "round":0,"round_status":0,"round_status_time":1691710123, "flag":0,"srv_id":"fx_1","is_open":0}*/ var CCht = CChampionController.getInstance(); var raceinfo = CCht.getModel().getBaseInfo(); var desc = ""; var rtime = ""; // {"start_time":1692547200,"end_time":1693151700,"step":8,"step_status":1,"step_status_time":1692587347,"round":1,"round_status":3,"round_status_time":61,"flag":0,"srv_id":"fx_1","is_open":0} switch (raceinfo.step) { case ArenaConst.champion_step.score: { if (raceinfo.step_status == ArenaConst.champion_step_status.unopened) { desc = nx.text.getKey("champion_str44"); } else { desc = ArenaConst.dealDesc(raceinfo.step, raceinfo.round); } var start_date = nx.bridge.time.toLocalString(raceinfo.start_time, true, false); var end_date = nx.bridge.time.toLocalString(raceinfo.end_time, true, false); var str = start_date + "-" + end_date; rtime = str; } ; break; case ArenaConst.champion_step.match_32: {} ; break; case ArenaConst.champion_step.match_4: {} ; break; case ArenaConst.champion_step.match_64: { desc = ArenaConst.dealDesc(raceinfo.step, raceinfo.round); var _start_date = nx.bridge.time.toLocalString(raceinfo.start_time, true, false); var _end_date = nx.bridge.time.toLocalString(raceinfo.end_time, true, false); var _str = _start_date + "-" + _end_date; rtime = _str; } ; break; case ArenaConst.champion_step.match_8: { desc = ArenaConst.dealDesc(raceinfo.step, raceinfo.round); var _start_date2 = nx.bridge.time.toLocalString(raceinfo.start_time, true, false); var _end_date2 = nx.bridge.time.toLocalString(raceinfo.end_time, true, false); var _str2 = _start_date2 + "-" + _end_date2; rtime = _str2; if (raceinfo.step_status == ArenaConst.champion_step_status.over) { desc = nx.text.getKey("champion_str46"); var _start_date3 = nx.bridge.time.toLocalString(raceinfo.start_time, true, false); var _end_date3 = nx.bridge.time.toLocalString(raceinfo.end_time, true, false); var _str3 = _start_date3 + "-" + _end_date3; rtime = _str3; } } ; break; default: desc = nx.text.getKey("champion_str44"); rtime = nx.text.getKey("champion_str44"); break; } nx.gui.setString(this.nodDesc, "race/stitle", nx.text.format("champion_str53", desc)); nx.gui.setString(this.nodDesc, "racetime/txt", nx.text.format("champion_str54", rtime)); var myrank = _data; var rank = myrank.rank == 0 ? nx.text.getKey("Rank0") : myrank.rank; var hisrank = myrank.best_rank == 0 ? nx.text.getKey("Rank0") : myrank.best_rank; nx.gui.setString(this.nodDesc, "rank/txt", rank); nx.gui.setString(this.nodDesc, "hisrank/txt", hisrank); var num = game.configs.arena_cluster_champion_data.data_const.battle_members; nx.gui.setString(this.nodDesc, "gettip/title", nx.text.format("champion_str52", num.val)); }, onTouchReward: function onTouchReward() { var cct = CChampionController.getInstance(); nx.bridge.createPanel("WndArenaLoopCRankAward", { ops: ["RankNow", "RankAwards"], cb: function cb() { cct.sender26214(); }, dfg: game.configs.arena_cluster_champion_data.data_awards, show: "RankNow", desc: nx.text.getKey("champion_str39") }); }, onTouchChallenge: function onTouchChallenge() { var CCht = CChampionController.getInstance(); CCht.openCrosschampionMainWindow(true); // WndCChampionChallenge }, // 點擊編隊 onTouchForm: function onTouchForm() { var heros = HeroController.getInstance().getModel().getAllHeroArray(); HeroController.getInstance().openFormGoFightPanel(true, 6, {}, HeroConst.FormShowType.eFormSave); // let LC = LadderController.getInstance(); // LC.openLadderTopThreeWindow( true ); }, // 规则说明 onTouchTip: function onTouchTip() { var TC = TipsController.getInstance(); if (TC) { var txt = game.configs.arena_cluster_champion_data.data_explain; TC.showDetailPanel(txt); } }, close: function close() { this._super(); nx.bridge.mainui.racewnd = null; nx.bridge.mainui.isracing = false; } /*** * [26206]:{"rank":33,"cnum":7,"win":3} */ }); cc._RF.pop();