//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, January 10, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System; namespace vnxbqy.UI { 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("dd-MM 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; WindowCenter.Instance.Close(); } 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("dd-MM HH:mm")); break; default: ServerListCenter.Instance.currentServer = m_ServerData; WindowCenter.Instance.Close(); break; } } } } }