| //-------------------------------------------------------- | 
| //    [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; | 
|                 } | 
|             } | 
|   | 
|         } | 
|   | 
|     } |