| 
					
				 | 
			
			
				@@ -0,0 +1,280 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Framework } from "../../framework/Framework"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { ObjectUtil } from "../../framework/util/ObjectUtil"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { StringUtil } from "../../framework/util/StringUtil"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { GameEvent } from "./GameEvent"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+interface Account { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    openId: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    openKey: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sdkUid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cdkeyUrl: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    version: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cdnUrl: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bulletin: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    platform: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    serverOpenTime: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    serverOpenHour: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    white: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    openCdkey: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    openLogout: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    download: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+interface Role { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sid: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    headpic: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    role_name: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    uid: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lv: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    last_time: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name?: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    status?: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    host?: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    gs?: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+interface Server { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sid: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    status: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    host: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    gs: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// type ServerData = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//     role_list?: { id: string; pic: string; name: string; uid: string; lv: string; last_time: string }[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//     server_list?: { id: string; name: string; status: string; host: string }[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//     lastsid?: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private _class_id = StringUtil.getUUID(32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //需要保存的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    save_data = new Map<string, any>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    UserID: any = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private _roleServers: Role[] = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private _servers: Server[] = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private _recmdServers: Server[] = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //账号信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private _accountData: Account = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        openId: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        openKey: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sdkUid: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cdkeyUrl: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        version: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cdnUrl: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bulletin: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        platform: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        serverOpenTime: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        serverOpenHour: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        white: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        openCdkey: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        openLogout: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        download: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //最后一次登录服id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // private _sid: number = this.save_locally('lastsid',null,-1);; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private _sid: number = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //推荐区域 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private _areaId: string = '1'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _saveData(key: string, value: any) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.save_data.delete(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (typeof value === 'object') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (value instanceof Map) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let temp = ObjectUtil.mapToObject(value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    value = JSON.stringify(temp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    value = JSON.stringify(value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                console.error(`解析失败,str = ${value}`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value = value + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.save_data.set(key, value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Framework.storage.set('save_data', this.save_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private _mapToObject(map: any) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let obj = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let [k, v] of map) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            obj[k] = v; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    get serverTime() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return Date.now() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    parseLoginData(data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._roleServers = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._servers = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._recmdServers = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.initAccount(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.initRoles(data.role_list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.server_list) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.initServers(data.server_list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.lastsid && data.lastsid > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.setSid(data.lastsid, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setSid(sid: number, flag: boolean): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._sid = sid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (flag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._saveData('lastsid',sid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getSid(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this._sid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setAreanId(areanId: string): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._areaId = areanId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getAreanId(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this._areaId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private initAccount(data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.openid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.openId = data.openid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.openkey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.openKey = data.openkey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.sdkuid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.sdkUid = data.sdkuid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.cdkey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.cdkeyUrl = data.cdkey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.version) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.version = data.version; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.cdn) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.cdnUrl = data.cdn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.bulletin) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.bulletin = data.bulletin; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.platform) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.platform = data.platform; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.server_open_time) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.serverOpenTime = data.server_open_time; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.server_open_hour) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.serverOpenHour = data.server_open_hour; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.white) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.white = data.white; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.open_cdkey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.openCdkey = data.open_cdkey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.open_logout) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.openLogout = data.open_logout; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.download) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._accountData.download = data.download; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private initRoles(roleList?: { id: string; pic: string; name: string; uid: string; lv: string; last_time: string }[]): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (roleList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (const key in roleList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let v = roleList[key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const t: Role = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sid: parseInt(v.id), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    headpic: parseInt(v.pic), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    role_name: v.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    uid: v.uid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    lv: parseInt(v.lv), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    last_time: v.last_time, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this._roleServers.push(t); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private initServers(serverList: { id: string; name: string; status: string; host: string }[]): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (const key in serverList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let v = serverList[key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const tab: Server = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sid: parseInt(v.id), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name: v.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                status: parseInt(v.status), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                host: v.host, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gs: parseInt(v.status) * 10000 + parseInt(v.id), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._servers.push(tab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (tab.status === 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this._recmdServers.push(tab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (const role of this._roleServers) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (role.sid === tab.sid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    role.name = tab.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    role.status = tab.status; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    role.host = tab.host; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    role.gs = tab.gs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._roleServers.sort((a, b) => (a.last_time > b.last_time ? -1 : 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._servers.sort((a, b) => (a.gs > b.gs ? -1 : 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._recmdServers.sort((a, b) => (a.gs > b.gs ? -1 : 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getAccountData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this._accountData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getAllServers() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this._servers; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getRoleServers() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this._roleServers; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getRecmdServers() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this._recmdServers; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getServerBySid(sid: number): Server | undefined { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let server = this._servers.find(v => v.sid === sid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!server) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (this._servers.length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // PromptMgr.showTips(Util.getString('110573')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this._sid = this._servers[0]?.sid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            server = this._servers[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return server; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export let AccountData = new Data; 
			 |