Files
fc/dev/project/assets/Scripts/mod/pvp/campfight/cmp/cmp.campfight.award.rank.js
T

81 lines
2.1 KiB
JavaScript
Raw Normal View History

2026-05-23 22:10:14 +08:00
const CampfightConst = require( "campfight.const" );
const CampfightMod = require("campfight.mod");
const BridgeWindow = require( "bridge.window" );
const NxExpand = require("nx.fx.sv.expand");
const RCT = require("role_controller");
cc.Class({
extends: BridgeWindow,
properties: {
svcList:{
default:null,
type:NxExpand
},
selfRank:{
default:null,
type:cc.Node
},
fabHead:{
default:null,
type:cc.Prefab
},
myHead:{
default:null,
type:cc.Node
}
},
// LIFE-CYCLE CALLBACKS:
onLoad () {
this.mod = CampfightMod.getInstance();
this.bindGEvent( CampfightConst.EVT_CAMP_UPDATE_RANK, this.freshRanks.bind( this ) );
},
freshRanks(data){
if(nx.dt.objEmpty(data))return;
this.svcList.rebuild(data.rank_list);
let myRole = RCT.getInstance().getRoleVo();
if(!this.Head){
this.Head = cc.instantiate(this.fabHead);
this.Head.parent = this.myHead;
}
nx.gui.setString(this.selfRank,"name",myRole.name);
let cmp = nx.gui.getComponent(this.Head,"","cmp.common.header");
if(cmp){
cmp.setData(myRole);
}
let rank_data = null;
for(let i in data.rank_list){
let info = data.rank_list[i];
if(info && info.rid == myRole.rid && info.srv_id == myRole.srv_id){
rank_data = info;
}
}
if(rank_data){
if(rank_data.rank <= 3){
nx.gui.setActive(this.selfRank,String(rank_data.rank),true);
}else{
nx.gui.setActive(this.selfRank,"rank",true);
nx.gui.setString(this.selfRank,"rank",rank_data.rank);
}
}else{
nx.gui.setActive(this.selfRank,"rank",true);
nx.gui.setString(this.selfRank,"rank",nx.text.getKey("Rank0"));
}
},
onOpenConfigs() {
this.mod.reqOldRank();
},
onPreClosed() {
this.svcList.rebuild([]);
},
});