220 lines
8.3 KiB
JavaScript
220 lines
8.3 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '9829eU0Im5P9ZDTsZZsROP/', 'cmp.rank.more.wnd');
|
|
// Scripts/mod/rank/cmp.rank.more.wnd.js
|
|
|
|
"use strict";
|
|
|
|
var BridgeWindow = require("bridge.window");
|
|
var FxSVC = require("nx.fx.sv.expand");
|
|
var RankEvent = require("rank_event");
|
|
var RankController = require("rank_controller");
|
|
var ArenaEvent = require("arena_event");
|
|
var RoleController = require("role_controller");
|
|
var RankConstant = require("rank_constant");
|
|
var ArenaController = require("arena_controller");
|
|
var GuildBossController = require("guildboss_controller");
|
|
var GuildbossEvent = require("guildboss_event");
|
|
cc.Class({
|
|
"extends": BridgeWindow,
|
|
properties: {
|
|
nodDetailLst: {
|
|
"default": null,
|
|
type: FxSVC
|
|
},
|
|
// 排行榜列表标题栏
|
|
rankLstTitle: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodSelf: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodEmpty: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
fab_head: {
|
|
"default": null,
|
|
type: cc.Prefab
|
|
}
|
|
},
|
|
onLoad: function onLoad() {
|
|
this.bindGEvent(ArenaEvent.UpdateLoopChallengeRank, this.freshDetail.bind(this));
|
|
this.bindGEvent(RankEvent.RankEvent_Get_Rank_data, this.updateRankListInfo.bind(this));
|
|
this.bindGEvent(GuildbossEvent.UpdateGuildDunRank, this.updateRankListInfo.bind(this));
|
|
},
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
|
var RC = RankController.getInstance();
|
|
this.fromOther = _params.type;
|
|
var ind = parseInt(this.fromOther);
|
|
this.camp_id = _params.camp_id;
|
|
RC.send_12901(ind, false);
|
|
if (ind == RankConstant.RankType.drama || ind == RankConstant.RankType.tower || ind == RankConstant.RankType.power || ind == RankConstant.RankType.actNewHero || ind == RankConstant.RankType.endless || ind == RankConstant.RankType.rank_role_lev || ind == RankConstant.RankType.relicexpolre) {
|
|
RC.send_12900(ind, null, null, false);
|
|
} else if (ind == RankConstant.RankType.union) {
|
|
RC.send_12903(null, null);
|
|
} else if (ind == RankConstant.RankType.arena) {
|
|
ArenaController.getInstance().sender20221();
|
|
} else if (ind == RankConstant.RankType.union_boss) {
|
|
var protocal = {
|
|
boss_id: _params.boss_id || 0,
|
|
start_num: 1,
|
|
end_num: 100
|
|
};
|
|
GuildBossController.getInstance().SendProtocal(21319, protocal);
|
|
}
|
|
},
|
|
// 竞技场 排行榜
|
|
freshDetail: function freshDetail(_data) {
|
|
this.updateRankListInfo(_data);
|
|
},
|
|
updateRankListInfo: function updateRankListInfo(_data) {
|
|
var self = this;
|
|
var lst = _data.rank_list;
|
|
if (this.camp_id) {
|
|
var mod = nx.bridge.acts.queryAct(this.camp_id);
|
|
if (mod) {
|
|
var rankreward = mod.getNewHeroRankReward();
|
|
for (var r = 0; r < rankreward.length; r++) {
|
|
var reward = rankreward[r];
|
|
if (_data.my_idx >= reward.min && _data.my_idx <= reward.max) {
|
|
_data.rewards = reward.items;
|
|
}
|
|
for (var i = 0; i < lst.length; i++) {
|
|
var item = lst[i];
|
|
if (item.idx >= reward.min && item.idx <= reward.max) {
|
|
item.rewards = reward.items;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
nx.gui.setActive(this.nodEmpty, "", nx.dt.arrEmpty(lst));
|
|
// console.log( "路径" + path );
|
|
cc.loader.loadRes("prefab/rank/fabs/itemT" + this.fromOther, function (err, fab) {
|
|
if (fab) {
|
|
var _item = cc.instantiate(fab);
|
|
self.nodDetailLst.fabItem = fab;
|
|
self.nodDetailLst.rebuild(lst);
|
|
// this.cmpHead = node.getComponent( "cmp.common.header" );
|
|
}
|
|
});
|
|
|
|
this.setRankLstTitle();
|
|
this.freshSelf(_data);
|
|
// console.log( "刷新排行数据" + JSON.stringify( _data ) );
|
|
},
|
|
|
|
// 显示具体列表的标题
|
|
setRankLstTitle: function setRankLstTitle() {
|
|
var titles = RankConstant.RankDetailTitle[this.fromOther];
|
|
var cmps = this.rankLstTitle.getComponentsInChildren(cc.Label);
|
|
for (var i = 0; i < cmps.length; i++) {
|
|
nx.gui.setString(cmps[i].node, "", nx.text.getKey(titles[i]) || "");
|
|
}
|
|
},
|
|
freshSelf: function freshSelf(_data) {
|
|
var role_vo = RoleController.getInstance().getRoleVo();
|
|
var self = this;
|
|
var index = this.fromOther == RankConstant.RankType.arena || this.fromOther == RankConstant.RankType.union_boss ? _data.rank : _data.my_idx;
|
|
var info = _data;
|
|
var avtar = null;
|
|
var nod = null;
|
|
// console.log( "自己数据" + "prefab/rank/fabs/self" + self.fromOther );
|
|
cc.loader.loadRes("prefab/rank/fabs/self" + self.fromOther, function (err, fab) {
|
|
if (fab) {
|
|
var item = cc.instantiate(fab);
|
|
item.parent = self.nodSelf;
|
|
avtar = nx.gui.find(item, "avatar");
|
|
nod = item;
|
|
if (avtar) {
|
|
var node = cc.instantiate(self.fab_head);
|
|
node.parent = avtar;
|
|
self.cmpHead = node.getComponent("cmp.common.header");
|
|
}
|
|
var cfg = game.configs.avatar_data.data_avatar[info.avatar_bid];
|
|
var frame = cfg ? cfg.base_id : 0;
|
|
if (self.cmpHead) {
|
|
if (self.fromOther == RankConstant.RankType.arena || self.fromOther == RankConstant.RankType.union_boss) {
|
|
self.cmpHead.setData(role_vo);
|
|
} else {
|
|
// 更新
|
|
self.cmpHead.setHeadRes(info.face_id);
|
|
self.cmpHead.setFrameRes(frame);
|
|
}
|
|
}
|
|
if (nod) {
|
|
nx.gui.hideAllChildren(nod, "rank");
|
|
if (index == 0) {
|
|
nx.gui.setString(nod, "rank/txt2", nx.text.getKey("Rank0"));
|
|
nx.gui.setActive(nod, "rank/txt", false);
|
|
nx.gui.setActive(nod, "rank/txt2", true);
|
|
} else if (index < 4 && index > 0) {
|
|
nx.gui.setActive(nod, "rank/icon_" + index, true);
|
|
} else {
|
|
nx.gui.setActive(nod, "rank/icon_4", true);
|
|
nx.gui.setString(nod, "rank/txt", index);
|
|
nx.gui.setActive(nod, "rank/txt", true);
|
|
}
|
|
var desc = "";
|
|
if (self.fromOther == RankConstant.RankType.drama) {
|
|
desc = gdata("dungeon_data", "data_drama_dungeon_info", [info.my_val1 || 0]);
|
|
if (info.my_val1 == 0) {
|
|
desc = 0;
|
|
} else {
|
|
desc = desc.name;
|
|
}
|
|
} else if (self.fromOther == RankConstant.RankType.arena) {
|
|
desc = info.score;
|
|
} else if (self.fromOther == RankConstant.RankType.union) {
|
|
desc = info.power;
|
|
var union = "";
|
|
nx.gui.setString(nod, "union", union = info.gname == "" ? nx.text.getKey("NoUnion") : "");
|
|
nx.gui.setString(nod, "names/name", nx.text.getKey("RankGud") + info.gname);
|
|
nx.gui.setActive(nod, "names/leader_name", info.leader_name != "");
|
|
nx.gui.setString(nod, "names/leader_name", union = info.leader_name != "" ? nx.text.getKey("Leader_") + info.leader_name : info.leader_name);
|
|
nx.gui.setString(nod, "lev", "Lv." + info.glev);
|
|
} else if (self.fromOther == RankConstant.RankType.union_boss) {
|
|
nx.gui.setString(nod, "dps", info.mydps);
|
|
desc = "";
|
|
} else if (self.fromOther == RankConstant.RankType.rank_role_lev) {
|
|
desc = info.lev;
|
|
} else {
|
|
// 3 || 6
|
|
if (self.fromOther == RankConstant.RankType.tower) {
|
|
desc = nx.dt.fmtTimeFromSecs(info.my_val2);
|
|
nx.gui.setString(nod, "floor", info.my_val1 + "");
|
|
nx.gui.setString(nod, "info/power", desc);
|
|
} else {
|
|
desc = info.my_val1 + "";
|
|
}
|
|
}
|
|
nx.gui.setString(nod, "info/power", desc);
|
|
nx.gui.setString(nod, "name", role_vo.name);
|
|
var rnod = nx.gui.find(nod, "rewards");
|
|
if (rnod && info.rewards) {
|
|
var cmp = nx.gui.getComponent(rnod, "", "cmp.common.itemlayout");
|
|
if (cmp) {
|
|
cmp.rebuild(info.rewards);
|
|
}
|
|
}
|
|
}
|
|
// this.cmpHead = node.getComponent( "cmp.common.header" );
|
|
}
|
|
});
|
|
|
|
// this.scheduleOnce( () =>{
|
|
|
|
// }, 0.3 );
|
|
}
|
|
});
|
|
|
|
/************
|
|
* [21319]:{"boss_id":401,"start_num":1,"end_num":100}
|
|
[21319]:{"rank":0,"mydps":0,"worship":0,"day_worship":0,
|
|
"rank_list":[
|
|
{"rank":1,"r_rid":34746,"r_srvid":"dev_2","name":"Myjamkin","family_name":"YTGHFGHF","all_dps":3476438,"face_id":10401,"lev":200,"power":515547,"avatar_bid":1000,"look_id":110401,"face_update_time":0,"face_file":"","worship":0,"worship_status":0}]}
|
|
*/
|
|
|
|
cc._RF.pop(); |