//--------------------------------------------------------
|
// [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<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("dd-MM HH:mm"));
|
break;
|
default:
|
ServerListCenter.Instance.currentServer = m_ServerData;
|
WindowCenter.Instance.Close<ServerListWin>();
|
break;
|
}
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|