NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Game/GameStateMainScene.cs

48 lines
1.2 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()
{
E_LoadingType loadingType = IsLogin ? E_LoadingType.Login : E_LoadingType.CommonLoading;
LoadingManager.Instance.ExecuteLoading(new MainSceneLoadingExecutor(loadingType, OnLoadingComplete)).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()
{
}
private void OnLoadingComplete()
{
UI_MainPanelController.Open().Forget();
callbackAction?.Invoke();
}
}