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([]); }, });