using System.Collections.Generic; public class ServerModel : Base { string key; public List list = new List(); //public Dictionary mainMap = new Dictionary(); public ServerItem def_server; public ServerItem sel_server; public string loginName; //public int roleCount; public List roles = new List(); public void SetKey(string key) { this.key = key; } public string GetKey() { return this.key; } public void Reset() { list.Clear(); def_server = null; sel_server = null; roles.Clear(); } public ServerItem GetCurServer() { ServerItem server = this.list[this.list.Count - 1]; if (this.def_server == null) { if (this.roles.Count == 0) { if (server.isRec) { this.def_server = server; } else { for (int i = this.list.Count - 2; i >= 0; i--) { if (list[i].isRec) { server = this.def_server = list[i]; break; } } } if (def_server == null) def_server = server; //return def_server; } else { ServerRoleData myRole = null; for (int i = 0; i < roles.Count; i++) { if (myRole == null) { myRole = roles[i]; } else if (roles[i].logoutTime > myRole.logoutTime) { myRole = roles[i]; } } this.def_server = GetServerItemById(myRole.serverId); } return def_server; } else { server = def_server; } if (server == null) server = this.list[this.list.Count - 1]; return server; } public ServerItem GetServerItemById(int serverId) { for (int i = 0; i < list.Count; i++) { if (list[i].serverId == serverId) return list[i]; } return null; } public ServerRoleData GetRoleByServerId(int serverId) { for (int i = 0; i < roles.Count; i++) { if (roles[i].serverId == serverId) { return roles[i]; } } return null; } public void SetSelServer(int serverId) { sel_server = GetServerItemById(serverId); } } public class UserServerListJson { public string Token { get; set; } public long UserId { get; set; } public string Username { get; set; } public List ServerList { get; set; } } public class UserServerInfo { public int Id { get; set; } public string Area { get; set; } public string Name { get; set; } public string Address { get; set; } public int Online { get; set; } }