229 lines
8.4 KiB
JavaScript
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(); |