1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
// //--------------------------------------------------------
// //    [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;
    }
}