152 lines
6.7 KiB
JavaScript
152 lines
6.7 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, 'd968f/vnnRC/a9fnIwAEtXO', 'cmp.pvprank.achieve');
|
||
|
|
// Scripts/mod/pvp/rank/cmp/cmp.pvprank.achieve.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
var BridgeWindow = require("bridge.window");
|
||
|
|
var ElitematchEvent = require("elitematch_event");
|
||
|
|
var HeroController = require("hero_controller");
|
||
|
|
var FxTogs = require("nx.fx.togs");
|
||
|
|
cc.Class({
|
||
|
|
"extends": BridgeWindow,
|
||
|
|
properties: {
|
||
|
|
nodToggle: {
|
||
|
|
"default": null,
|
||
|
|
type: FxTogs
|
||
|
|
},
|
||
|
|
nodInfo: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
nodSeasons: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
}
|
||
|
|
},
|
||
|
|
onLoad: function onLoad() {
|
||
|
|
nx.gui.hideAllChildren(this.nodInfo);
|
||
|
|
this.bindGEvent(ElitematchEvent.Elite_Personal_Info_Event, this.freshPersonalInfo.bind(this));
|
||
|
|
// this.bindGEvent( ArenaEvent.UpdateLoopChallengeTimesList, this.freshSelf.bind(this) );
|
||
|
|
// this.bindGEvent( ArenaEvent.UpdateLoopChallengeTimesList, this.showNode.bind(this));
|
||
|
|
// this.bindGEvent( ArenaEvent.UpdateArena_Number, this.updateRankListInfo.bind(this));
|
||
|
|
},
|
||
|
|
|
||
|
|
// 重载:参数打开
|
||
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
||
|
|
this.period = _params.period;
|
||
|
|
this.cfg = _params.cfg;
|
||
|
|
this.arean = _params.arean;
|
||
|
|
this.mod = _params.mod;
|
||
|
|
nx.gui.gocChildren(this.nodSeasons, "lst/view/content", this.period);
|
||
|
|
var chd = nx.gui.find(this.nodSeasons, "lst/view/content").children;
|
||
|
|
for (var i = chd.length; i > 0; i--) {
|
||
|
|
var nod = chd[i - 1];
|
||
|
|
nod.season = i;
|
||
|
|
nx.gui.setString(nod, "sj", nx.text.format("PvpRMatchInfoDesc", i));
|
||
|
|
}
|
||
|
|
this.nodToggle.posTog = this.onTogMenu.bind(this);
|
||
|
|
this.nodToggle.togTo(0);
|
||
|
|
this.onTogMenu(0);
|
||
|
|
},
|
||
|
|
// 重载:关闭前
|
||
|
|
onPreClosed: function onPreClosed() {},
|
||
|
|
freshChallengeLog: function freshChallengeLog(_cdata) {
|
||
|
|
var records = _cdata.arena_elite_log;
|
||
|
|
this.nodRecords.rebuild(records);
|
||
|
|
nx.gui.setActive(this.nodEmpty, "", nx.dt.arrEmpty(records));
|
||
|
|
},
|
||
|
|
onTogMenu: function onTogMenu(_idx) {
|
||
|
|
var type = _idx == 0 ? _idx : this.period;
|
||
|
|
var AC = this.mod;
|
||
|
|
if (AC) {
|
||
|
|
AC.sender24940(type);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
freshPersonalInfo: function freshPersonalInfo(_info) {
|
||
|
|
nx.gui.hideAllChildren(this.nodInfo);
|
||
|
|
if (!_info) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var personalinfo = _info;
|
||
|
|
var nodp = nx.gui.find(this.nodInfo, personalinfo.period == 0 ? "self" : "total");
|
||
|
|
var pnode = nx.gui.find(nodp, "self/mvp");
|
||
|
|
var part = nx.gui.getComponent(pnode, "partner", "cmp.partner.com");
|
||
|
|
var hero = HeroController.getInstance().getModel().getTopLevHeroInfoByBid(personalinfo.best_mvp);
|
||
|
|
if (part) {
|
||
|
|
part.setData(hero);
|
||
|
|
}
|
||
|
|
var rate = personalinfo.combat_win_count1 == 0 ? 0 : parseInt(personalinfo.combat_win_count1 * 100 / personalinfo.combat_all_count1);
|
||
|
|
var krate = personalinfo.combat_all_count2 == 0 ? 0 : parseInt(personalinfo.combat_win_count2 * 100 / personalinfo.combat_all_count2);
|
||
|
|
|
||
|
|
// let showTxt =
|
||
|
|
|
||
|
|
nx.gui.setString(nodp, "first/nowlev", nx.text.format("PvpRankNowLev", this.cfg[personalinfo.my_elite_lev].name));
|
||
|
|
nx.gui.setString(nodp, "first/nowscore", nx.text.format("PvpRankNowScore", personalinfo.my_score));
|
||
|
|
nx.gui.setString(nodp, "first/nowwin1", nx.text.format("PvpRankWinCount", personalinfo.combat_win_count1));
|
||
|
|
nx.gui.setString(nodp, "second/maxlev", nx.text.format("PvpRankLevHistory", this.cfg[personalinfo.max_lev].name));
|
||
|
|
nx.gui.setString(nodp, "second/maxscore", nx.text.format("PvpRankScoreHistory", personalinfo.max_score));
|
||
|
|
nx.gui.setString(nodp, "second/winraten", nx.text.format("PvpRankWinRate", rate));
|
||
|
|
nx.gui.setString(nodp, "third/arean", nx.text.format("PvpRankWinArean", this.arean[personalinfo.log_zone_id] ? this.arean[personalinfo.log_zone_id].name : ""));
|
||
|
|
nx.gui.setString(nodp, "third/rank", nx.text.format("PvpRankNowRank", personalinfo.log_rank));
|
||
|
|
nx.gui.setString(nodp, "third/kingwin", nx.text.format("PvpRankKingCount", personalinfo.combat_win_count2));
|
||
|
|
nx.gui.setString(nodp, "fourth/maxharm", nx.text.format("PvpRankMaxHarm", personalinfo.max_dps));
|
||
|
|
nx.gui.setString(nodp, "fourth/maxwins", nx.text.format("PvpRankMaxWinn", personalinfo.winning_streak));
|
||
|
|
nx.gui.setString(nodp, "fourth/kingrate", nx.text.format("PvpRankKingWinRate", krate));
|
||
|
|
var defensenod = nx.gui.find(nodp, "self/maxdefense");
|
||
|
|
var head = nx.gui.getComponent(defensenod, "head", "cmp.common.header");
|
||
|
|
var form = nx.gui.find(nodp, "self/maxdefense/form");
|
||
|
|
var mydata = {
|
||
|
|
face: personalinfo.face
|
||
|
|
};
|
||
|
|
if (head) {
|
||
|
|
head.setData(mydata);
|
||
|
|
}
|
||
|
|
|
||
|
|
//PvpRankStrongDefense
|
||
|
|
var server = nx.dt.strNEmpty(personalinfo.srv_id) ? personalinfo.srv_id.split("_") : "";
|
||
|
|
var ddesc = "[" + nx.text.format("Srever", server[1]) + "]" + "\t\t" + personalinfo.name + "\t\t" + nx.text.format("GuildLevel", personalinfo.lev);
|
||
|
|
var desc = nx.text.format("PvpRankStrongDefense", ddesc);
|
||
|
|
desc = nx.dt.strNEmpty(personalinfo.srv_id) ? desc : nx.text.format("PvpRankStrongDefense", nx.text.getKey("BagEmpty"));
|
||
|
|
nx.gui.setString(nodp, "self/maxdefense/desc", desc);
|
||
|
|
if (nx.dt.arrNEmpty(personalinfo.power)) {
|
||
|
|
nx.gui.gocChildren(form, "", personalinfo.power.length);
|
||
|
|
var chd = form.children;
|
||
|
|
for (var i = 0; i < chd.length; i++) {
|
||
|
|
var nod = chd[i];
|
||
|
|
var power = personalinfo.power[i];
|
||
|
|
nx.gui.setString(nod, "team", nx.text.format("PvpRDenfenseT", i + 1));
|
||
|
|
nx.gui.setString(nod, "power", power.power);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
nx.gui.setActive(nodp, "self/maxdefense/head", nx.dt.strNEmpty(personalinfo.srv_id));
|
||
|
|
nx.gui.setActive(nodp, "self/maxdefense/form", nx.dt.strNEmpty(personalinfo.srv_id));
|
||
|
|
nx.gui.setActive(nodp, "self/mvp/partner", personalinfo.best_mvp > 0);
|
||
|
|
nx.gui.setActive(nodp, "choice/lst", false);
|
||
|
|
nx.gui.setString(nodp, "choice/bg/txt", nx.text.format("PvpRMatchInfoDesc", personalinfo.period));
|
||
|
|
nx.gui.setActive(nodp, "", true);
|
||
|
|
},
|
||
|
|
onTouchSeason: function onTouchSeason(_btn) {
|
||
|
|
var season = _btn.season;
|
||
|
|
this.mod.sender24940(season);
|
||
|
|
this.onTouchShow(false);
|
||
|
|
},
|
||
|
|
onTouchShow: function onTouchShow(_show) {
|
||
|
|
var show = !_show ? true : _show;
|
||
|
|
var nodp = nx.gui.find(this.nodInfo, "total");
|
||
|
|
nx.gui.setActive(nodp, "choice/lst", show);
|
||
|
|
}
|
||
|
|
/****
|
||
|
|
* [19:38:38:265][recv] <<<[24940]:{"best_mvp":10503,
|
||
|
|
* "my_score":1136,"my_elite_lev":3,"period":16,
|
||
|
|
* "max_lev":3,"max_score":1203,"combat_win_count1":11,
|
||
|
|
* "combat_all_count1":18,"combat_win_count2":0,
|
||
|
|
* "combat_all_count2":0,"max_dps":726663,"winning_streak":7,
|
||
|
|
* "rid":1876,"srv_id":"fx_1",
|
||
|
|
* "name":"滅世風華","lev":90,"sex":0,"g_rid":41,"g_srv_id":"fx_1","gname":"阿斯顿发送到",
|
||
|
|
* "power":[{"order":1,"power":311773}],
|
||
|
|
* "face":26303,"score":2000,"elite_lev":1,"avatar_id":0,"face_update_time":0,"face_file":"","log_zone_id":1,"log_rank":2,"use_skin":0}
|
||
|
|
*/
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|