//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Wednesday, January 10, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using System;
|
|
namespace Snxxz.UI
|
{
|
|
public class ServerBehaviour : MonoBehaviour
|
{
|
[SerializeField] Image m_ServerState;
|
[SerializeField] Text m_ServerName;
|
[SerializeField] Text m_OpenTime;
|
[SerializeField] Button m_Select;
|
[SerializeField] Image m_RoleHead;
|
[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;
|
|
var job = 0;
|
if (!string.IsNullOrEmpty(_serverData.job))
|
{
|
int.TryParse(_serverData.job, out job);
|
}
|
|
if (job != 0)
|
{
|
m_RoleHead.SetActive(true);
|
m_RoleName.SetActive(true);
|
m_RoleLevel.SetActive(true);
|
m_OpenTime.SetActive(false);
|
|
m_RoleHead.SetSprite(GeneralDefine.GetJobHeadPortrait(job, 0));
|
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("MM-dd HH:mm"));
|
}
|
|
m_RoleHead.SetActive(false);
|
m_RoleName.SetActive(false);
|
m_RoleLevel.SetActive(false);
|
}
|
|
m_Select.RemoveAllListeners();
|
m_Select.AddListener(SelectServer);
|
}
|
|
private void SelectServer()
|
{
|
if (DebugUtility.Instance.isWhiteListAccount)
|
{
|
ServerListCenter.Instance.currentServer = m_ServerData;
|
WindowCenter.Instance.Close<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("MM-dd HH:mm"));
|
break;
|
default:
|
ServerListCenter.Instance.currentServer = m_ServerData;
|
WindowCenter.Instance.Close<ServerListWin>();
|
break;
|
}
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|