Files
fc/dev/project/library/imports/8a/8a9004a5-39b3-4e39-849e-63e5dbbc4962.js
T

128 lines
3.6 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, '8a900SlObNOOYSeY+XbvEli', 'cmp.rank.crosschamp');
// Scripts/mod/rank/cmps/cmp.rank.crosschamp.js
"use strict";
var SVCItem = require("nx.fx.sv.expand.item");
var RankController = require("rank_controller");
var RankConstant = require("rank_constant");
var ChatController = require("chat_controller");
var RoleController = require("role_controller");
/**********
*
* 各不同类型排行列表单个ui数据显示 周冠軍賽 排行
*/
cc.Class({
"extends": SVCItem,
properties: {
rankBg: {
"default": null,
type: cc.Node
},
rankIcon: {
"default": null,
type: cc.Node
},
playerInfo: {
"default": null,
type: cc.Node
},
player_name: {
"default": null,
type: cc.Node
},
player_header: {
"default": null,
type: cc.Node
},
nodWorship: {
"default": null,
type: cc.Node
}
},
// 数据重置
rebind: function rebind(_idx, _data, _key) {
this._super(_idx, _data, _key);
this.freshInfo();
},
// 刷新具体信息
freshInfo: function freshInfo() {
if (!this.mdata) {
return;
}
this.setRankicon(this.mdata.rank);
this.setLstHeadIcon(this.mdata);
nx.gui.setString(this.player_name, "", nx.text.getKey(this.mdata.name));
// 处理未膜拜与膜拜后效果
nx.gui.setString(this.nodWorship, "num", this.mdata.worship);
nx.gui.setString(this.playerInfo, "score", this.mdata.score);
nx.gui.setString(this.playerInfo, "power/power", this.mdata.power);
var cmp = nx.gui.getComponent(this.nodWorship, "", cc.Button);
if (cmp) {
cmp.interactable = this.mdata.worship_status == 0;
}
},
// 设置前三名显示效果
setRankicon: function setRankicon(_index) {
//前三
var index = _index;
if (index < 4) {
nx.gui.setActive(this, "rank_" + index, true);
nx.gui.setActive(this.rankIcon, "icon_" + index, true);
} else {
nx.gui.setActive(this, "rank_4", true);
nx.gui.setActive(this.rankIcon, "icon_4", true);
nx.gui.setString(nx.gui.find(this.rankIcon, "txt"), "", index);
}
},
// 头像显示 公会没有头像显示
setLstHeadIcon: function setLstHeadIcon(_faceid) {
nx.bridge.setIcon(this.player_header, "avatar/mask/img", _faceid.face, "resDB/empty/avatar");
var cfg = game.configs.avatar_data.data_avatar[_faceid.avatar_bid];
var icon = cfg ? cfg.base_id : 1000;
nx.bridge.setAvatarFrame(this.player_header, "avatar/frame", icon);
},
//打开玩家信息
openChatMessage: function openChatMessage() {
var model = RankController.getInstance();
var type = model.getListType();
if (type == RankConstant.RankType.union) {
return;
}
var roleVo = RoleController.getInstance().getRoleVo();
var rid = this.mdata.rid || this.mdata.r_rid;
var srv_id = this.mdata.srv_id || this.mdata.r_srvid;
if (rid && srv_id && roleVo.rid == rid && roleVo.srv_id == srv_id) {
nx.tbox(nx.text.getKey("lab_rank_item_tip_1"));
return;
}
if (this.mdata.is_robot && this.mdata.is_robot == 1) {
nx.tbox(nx.text.getKey("lab_rank_item_tip_2"));
return;
}
if (this.mdata) {
var _model = ChatController.getInstance();
var vo = {
rid: rid,
srv_id: srv_id
};
_model.openFriendInfo(vo);
}
},
onTouchWorship: function onTouchWorship() {
if (this.mdata.worship_status > 0) {
nx.tbox(nx.text.getKey("lab_arena_loop_rank_worshiped"));
return;
}
var RC = RoleController.getInstance();
if (RC) {
RC.sender10316(this.mdata.rid, this.mdata.srv_id, this.mdata.rank);
}
}
});
cc._RF.pop();