Files
fc/dev/project/library/imports/2c/2cc3ab42-7ef5-47c4-a9f0-cfa06404e94c.js
2026-05-24 10:21:26 +08:00

229 lines
8.4 KiB
JavaScript

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