예제 #1
0
    private void AddServerItem(GameServerInfoPB date)
    {
        if (date == null)
        {
            return;
        }
        GameObject            obj  = Instantiate(_lastServer.gameObject);
        LoginChooseServerItem item = obj.GetComponent <LoginChooseServerItem>();

        item.SetData(date);
        obj.transform.SetParent(_serverRoot, false);
    }
예제 #2
0
        public void ChooseServer(string serverId)
        {
            GameServerInfoPB data = GetGameServerData(serverId);

            if (data == null)
            {
                return;
            }
            AppConfig.Instance.logicServer = "http://" + data.Addr + ":" + data.Port + "/";
            NetWorkManager.Instance.SetServer(AppConfig.Instance.logicServer);
            AppConfig.Instance.serverId   = data.ServerId;
            AppConfig.Instance.serverName = data.Name;

            Debug.LogWarning("ChooseServer: serverName" + AppConfig.Instance.serverName);
        }
예제 #3
0
    public void SetData(GameServerInfoPB date)
    {
        _date          = date;
        _nameText.text = date.Name;

        _hotStatus.SetActive(false);
        _newStatus.SetActive(false);
        _closeStatus.SetActive(false);
        switch (date.Status)
        {
        case NetWorkManager.SERVER_HOT:
            _hotStatus.SetActive(true);
            break;

        case NetWorkManager.SERVER_NEW:
            _newStatus.SetActive(true);
            break;

        case NetWorkManager.SERVER_CLOSE:
            _closeStatus.SetActive(true);
            break;
        }
    }
예제 #4
0
    private void RefreshServers()
    {
        GameServerInfoPB lastDate = null;

        ClearItems();
        for (int i = 0; i < NetWorkManager.Instance.serverIds.Count; ++i)
        {
            string serverId = NetWorkManager.Instance.serverIds[i];
            //string name = I18NManager.Get("Login_Server_" + (i + 1));

            GameServerInfoPB serverData = NetWorkManager.Instance.GetGameServerData(serverId);
            AddServerItem(serverData);

            if (lastDate == null)
            {
                lastDate = serverData;
            }
        }

        if (lastDate != null)
        {
            _lastServer.SetData(lastDate);
        }
    }
예제 #5
0
        public GameServerInfoPB SetServerDatas(RepeatedField <GameServerInfoPB> list)
        {
            serverIds.Clear();
            _serverDatas.Clear();
            for (int i = 0; i < list.Count; ++i)
            {
                Debug.LogWarning("server:  id: " + list[i].ServerId + "  ip: " + list[i].Addr + "  name:" + list[i].Name + "  order:" + list[i].Sort + " status:" + list[i].Status);
                if (list[i].Status == SERVER_HIDDEN)
                {
                    continue;
                }
                if (!_serverDatas.ContainsKey(list[i].ServerId))
                {
                    serverIds.Add(list[i].ServerId);
                    _serverDatas.Add(list[i].ServerId, list[i]);
                }
            }

            serverIds.Sort((a, b) =>
            {
                GameServerInfoPB date_a = GetGameServerData(a);
                GameServerInfoPB date_b = GetGameServerData(b);
                return(date_b.Sort.CompareTo(date_a.Sort));
            });

            GameServerInfoPB result = null;

            if (serverIds.Count > 0)
            {
                result = GetGameServerData(serverIds[0]);
            }
            return(result);

            //serverIds.Add(list[0].ServerId + "_1");
            //_serverDatas.Add(list[0].ServerId + "_1", list[0]);
        }