您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
50 行
1.5 KiB
50 行
1.5 KiB
using System.Text;
|
|
using TMPro;
|
|
|
|
namespace LobbyRelaySample.UI
|
|
{
|
|
public class SpinnerUI : ObserverPanel<LobbyServiceData>
|
|
{
|
|
public TMP_Text errorText;
|
|
public UIPanelBase spinnerImage;
|
|
public UIPanelBase noServerText;
|
|
public UIPanelBase errorTextVisibility;
|
|
|
|
public override void ObservedUpdated(LobbyServiceData observed)
|
|
{
|
|
if (observed.State == LobbyServiceState.Fetching)
|
|
{
|
|
Show();
|
|
spinnerImage.Show();
|
|
noServerText.Hide();
|
|
errorTextVisibility.Hide();
|
|
}
|
|
else if (observed.State == LobbyServiceState.Error)
|
|
{
|
|
spinnerImage.Hide();
|
|
errorTextVisibility.Show();
|
|
var errorString = new StringBuilder();
|
|
errorString.Append("Error");
|
|
var codeString = ": " + observed.lastErrorCode;
|
|
if (observed.lastErrorCode < 1)
|
|
codeString = ".";
|
|
|
|
errorString.Append(codeString);
|
|
errorText.SetText(errorString.ToString());
|
|
}
|
|
else if (observed.State == LobbyServiceState.Fetched)
|
|
{
|
|
if (observed.CurrentLobbies.Count < 1)
|
|
{
|
|
noServerText.Show();
|
|
}
|
|
else
|
|
{
|
|
noServerText.Hide();
|
|
}
|
|
|
|
spinnerImage.Hide();
|
|
}
|
|
}
|
|
}
|
|
}
|