//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, January 10, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; using System; using LitJson; public class ServerInfoCommon { public ServerGroup recommend; public ServerGroup[] common; public bool FindServerData(int _id, out ServerData _serverData) { if (common == null) { _serverData = default(ServerData); return false; } for (int i = 0; i < common.Length; i++) { if (common[i].FindServerData(_id, out _serverData)) { return true; } } _serverData = default(ServerData); return false; } } public class ServerInfoPlayer { public ServerGroup player; public ServerGroup gametest; public int white; } public class ServerGroup { public string group_title; public ServerData[] group_list; public bool FindServerData(int _id, out ServerData _serverData) { if (group_list == null) { _serverData = default(ServerData); return false; } for (int i = 0; i < group_list.Length; i++) { if (group_list[i].region_flag == _id) { _serverData = group_list[i]; return true; } } _serverData = default(ServerData); return false; } } public struct ServerData { public int region_flag; public string name; public int running_status; public int statue; public int is_recommend; public string region_domain; public int login_port; public int game_port; public DateTime start_date; public int job; public string roleid; public int level; public DateTime last_login_time; public ServerData(LoginSeverListConfig config) { region_flag = config.ID; name = config.serverName; running_status = 1; statue = 1; is_recommend = 0; region_domain = config.ip; int.TryParse(config.pagePort, out login_port); game_port = config.gatePort; start_date = DateTime.Now; job = 0; roleid = string.Empty; level = 0; last_login_time = DateTime.Now; } public static int Compare(ServerData _lhs, ServerData _rhs) { if (_lhs.is_recommend != _rhs.is_recommend) { return _lhs.is_recommend == 1 ? -1 : 1; } return _lhs.region_flag > _rhs.region_flag ? -1 : 1; } public static int LastLoginTimeCompare(ServerData _lhs, ServerData _rhs) { return _lhs.last_login_time > _rhs.last_login_time ? -1 : 1; } } public struct ServerDataCouple { public ServerData serverData1; public ServerData serverData2; public ServerDataCouple(ServerData _data1) { serverData1 = _data1; serverData2 = default(ServerData); } public ServerDataCouple(ServerData _data1, ServerData _data2) { serverData1 = _data1; serverData2 = _data2; } }