104 lines
2.5 KiB
C#
104 lines
2.5 KiB
C#
using Cysharp.Threading.Tasks;
|
|
using Framework;
|
|
using Gameplay;
|
|
using Gameplay.Net;
|
|
using LC.Google.Protobuf.WellKnownTypes;
|
|
|
|
public static class GameClientReconnect
|
|
{
|
|
private static bool _isReconnecting;
|
|
public static void BackToStart()
|
|
{
|
|
_isReconnecting = false;
|
|
var curState = GameStateManager.Instance.GetCurState();
|
|
if (curState is not GameStateStart)
|
|
{
|
|
GameStateManager.Instance.ChangeState(new GameStateStart());
|
|
Actor.Instance.OnLogout();
|
|
}
|
|
Actor.Instance.SetIsReconnecting(_isReconnecting);
|
|
}
|
|
|
|
public static void StartReconnect()
|
|
{
|
|
_isReconnecting = true;
|
|
Actor.Instance.SetIsReconnecting(_isReconnecting);
|
|
_OpenReconnectingUI();
|
|
}
|
|
|
|
public static void EndReconnect()
|
|
{
|
|
_isReconnecting = false;
|
|
_CloseReconnectingUI();
|
|
Actor.Instance.SetIsReconnecting(_isReconnecting);
|
|
}
|
|
|
|
public static void ReconnectConfirm()
|
|
{
|
|
if (!UINetManager.Instance.IsReconnectConfirmOpening())
|
|
{
|
|
_OpenReconnectConfirmUI();
|
|
}
|
|
_CloseReconnectingUI();
|
|
}
|
|
|
|
public static void ReconnectAgain()
|
|
{
|
|
EventManager.Instance.Send(EventManager.EventName.NetReloginAgain);
|
|
}
|
|
|
|
public static void CloseReconnectConfirm()
|
|
{
|
|
if (UINetManager.Instance.IsReconnectConfirmOpening())
|
|
{
|
|
_CloseReconnectConfirmUI();
|
|
}
|
|
}
|
|
|
|
public static void HideAllReconnect()
|
|
{
|
|
CloseReconnectConfirm();
|
|
_CloseReconnectNoticeUI();
|
|
_CloseReconnectingUI();
|
|
}
|
|
|
|
public static void ShowReconnectNotice(string error)
|
|
{
|
|
_OpenReconnectNoticeUI(error);
|
|
}
|
|
|
|
public static void HideReconnectNotice()
|
|
{
|
|
_CloseReconnectNoticeUI();
|
|
}
|
|
|
|
private static void _OpenReconnectingUI()
|
|
{
|
|
UINetManager.Instance.ShowReconnect();
|
|
}
|
|
|
|
private static void _CloseReconnectingUI()
|
|
{
|
|
UINetManager.Instance.HideReconnect();
|
|
}
|
|
|
|
private static void _OpenReconnectConfirmUI()
|
|
{
|
|
UINetManager.Instance.ShowReconnectConfirm();
|
|
}
|
|
|
|
private static void _CloseReconnectConfirmUI()
|
|
{
|
|
UINetManager.Instance.HideReconnectConfirm();
|
|
}
|
|
|
|
private static void _OpenReconnectNoticeUI(string error)
|
|
{
|
|
UINetManager.Instance.ShowReconnectNotice(error);
|
|
}
|
|
|
|
private static void _CloseReconnectNoticeUI()
|
|
{
|
|
UINetManager.Instance.HideReconnectNotice();
|
|
}
|
|
} |