//-------------------------------------------------------- 
 | 
//    [Author]:           玩个游戏 
 | 
//    [  Date ]:           Wednesday, January 10, 2018 
 | 
//-------------------------------------------------------- 
 | 
using UnityEngine; 
 | 
using System.Collections; 
 | 
using UnityEngine.UI; 
 | 
using System; 
 | 
  
 | 
    public class ServerBehaviour : MonoBehaviour 
 | 
    { 
 | 
        // [SerializeField] AvatarCell avatarCell; 
 | 
        [SerializeField] Image m_ServerState; 
 | 
        [SerializeField] Text m_ServerName; 
 | 
        [SerializeField] Text m_OpenTime; 
 | 
        [SerializeField] Button m_Select; 
 | 
        [SerializeField] Text m_RoleName; 
 | 
        [SerializeField] Text m_RoleLevel; 
 | 
  
 | 
        ServerData m_ServerData; 
 | 
  
 | 
        public void Display(ServerData _serverData) 
 | 
        { 
 | 
            m_ServerData = _serverData; 
 | 
            switch ((ServerState)_serverData.running_status) 
 | 
            { 
 | 
                case ServerState.Maintain: 
 | 
                case ServerState.Predicted: 
 | 
                    m_ServerState.SetSprite("XT_FWQ_TB4"); 
 | 
                    break; 
 | 
                case ServerState.Normal: 
 | 
                    m_ServerState.SetSprite("XT_FWQ_TB2"); 
 | 
                    break; 
 | 
                case ServerState.Busy: 
 | 
                    m_ServerState.SetSprite("XT_FWQ_TB3"); 
 | 
                    break; 
 | 
                case ServerState.Hot: 
 | 
                    m_ServerState.SetSprite("XT_FWQ_TB1"); 
 | 
                    break; 
 | 
            } 
 | 
            m_ServerName.text = _serverData.name.Replace("@gm", ""); 
 | 
  
 | 
            var job = _serverData.job; 
 | 
  
 | 
            if (job != 0) 
 | 
            { 
 | 
                // avatarCell.bgImage.SetActive(true); 
 | 
                // avatarCell.avatarImage.SetActive(true); 
 | 
                // avatarCell.avatarFrameImage.SetActive(false); 
 | 
                m_RoleName.SetActive(true); 
 | 
                m_RoleLevel.SetActive(true); 
 | 
                m_OpenTime.SetActive(false); 
 | 
  
 | 
                // avatarCell.InitUI(AvatarHelper.GetDefaultAvatarModel(job)); 
 | 
                m_RoleName.text = _serverData.roleid; 
 | 
                m_RoleLevel.text = Language.Get("Z1024", _serverData.level); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                m_OpenTime.SetActive(m_ServerData.start_date > DateTime.Now); 
 | 
                if (m_ServerData.start_date > DateTime.Now) 
 | 
                { 
 | 
                    m_OpenTime.text = Language.Get("ServerOnTime", m_ServerData.start_date.ToString("yyyy-MM-dd HH:mm")); 
 | 
                } 
 | 
                // avatarCell.bgImage.SetActive(false); 
 | 
                // avatarCell.avatarImage.SetActive(false); 
 | 
                // avatarCell.avatarFrameImage.SetActive(false); 
 | 
                m_RoleName.SetActive(false); 
 | 
                m_RoleLevel.SetActive(false); 
 | 
            } 
 | 
  
 | 
            m_Select.RemoveAllListeners(); 
 | 
            m_Select.AddListener(SelectServer); 
 | 
  
 | 
            var gmImage = this.FindComponent("Image", "gm"); 
 | 
            gmImage.SetActive(_serverData.name.Contains("@gm")); 
 | 
        } 
 | 
  
 | 
        private void SelectServer() 
 | 
        { 
 | 
            if (DebugUtility.Instance.isWhiteListAccount) 
 | 
            { 
 | 
                ServerListCenter.Instance.currentServer = m_ServerData; 
 | 
                UIManager.Instance.CloseWindow<ServerListWin>(); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                switch ((ServerState)m_ServerData.running_status) 
 | 
                { 
 | 
                    case ServerState.Maintain: 
 | 
                        SysNotifyMgr.Instance.ShowTip("ServerDown"); 
 | 
                        break; 
 | 
                    case ServerState.Predicted: 
 | 
                        SysNotifyMgr.Instance.ShowTip("ServerOpen", m_ServerData.start_date.ToString("yyyy-MM-dd HH:mm")); 
 | 
                        break; 
 | 
                    default: 
 | 
                        ServerListCenter.Instance.currentServer = m_ServerData; 
 | 
                        UIManager.Instance.CloseWindow<ServerListWin>(); 
 | 
                        break; 
 | 
                } 
 | 
            } 
 | 
  
 | 
        } 
 | 
  
 | 
    } 
 |