51 lines
1.4 KiB
C#
51 lines
1.4 KiB
C#
using Cysharp.Threading.Tasks;
|
|
using Framework;
|
|
using Gameplay;
|
|
using Gameplay.Guide;
|
|
using Gameplay.SubSystems;
|
|
using System;
|
|
using System.Runtime.CompilerServices;
|
|
#if SDK_TAPTAP
|
|
using PhxhSDK;
|
|
#endif
|
|
|
|
public class GameStateMainScene : IState
|
|
{
|
|
private readonly Action callbackAction;
|
|
|
|
public bool IsLogin { get; }
|
|
|
|
public GameStateMainScene(bool isLogin = false, Action callback = null)
|
|
{
|
|
callbackAction = callback;
|
|
IsLogin = isLogin;
|
|
}
|
|
|
|
public void OnEnter()
|
|
{
|
|
EventManager.Instance.Register(EventManager.EventName.LoadingExecutorComplete, OnLoadingComplete);
|
|
|
|
E_LoadingType loadingType = IsLogin ? E_LoadingType.Login : E_LoadingType.CommonLoading;
|
|
LoadingManager.Instance.ExecuteLoading(new MainSceneLoadingExecutor(loadingType)).Forget();
|
|
|
|
#if SDK_TAPTAP
|
|
var antiAddictionService = SDKManager.Instance.GetSdkHelper(SDKManager.SdkName.TapTap) as IAntiAddictionService;
|
|
antiAddictionService?.AntiAddictionEnterGame();
|
|
#endif
|
|
}
|
|
|
|
public void OnUpdate(float deltaTime)
|
|
{
|
|
}
|
|
|
|
public void OnExit()
|
|
{
|
|
EventManager.Instance.Unregister(EventManager.EventName.LoadingExecutorComplete, OnLoadingComplete);
|
|
}
|
|
|
|
private async void OnLoadingComplete()
|
|
{
|
|
await UI_MainPanelController.Open();
|
|
callbackAction?.Invoke();
|
|
}
|
|
} |