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 Action callbackAction; public bool IsLogin { get; } public GameStateMainScene(bool isLogin = false, Action callback = null) { callbackAction = callback; IsLogin = isLogin; } public async void OnEnter() { E_LoadingType loadingType = IsLogin ? E_LoadingType.Login : E_LoadingType.CommonLoading; if (null == callbackAction) LoadingExecutorManager.Instance.ExecuteLoading(new MainSceneLoadingExecutor(loadingType)).Forget(); else { await LoadingExecutorManager.Instance.ExecuteLoading(new MainSceneLoadingExecutor(loadingType)); callbackAction.Invoke(); callbackAction = null; } #if SDK_TAPTAP var antiAddictionService = SDKManager.Instance.GetSdkHelper(SDKManager.SdkName.TapTap) as IAntiAddictionService; antiAddictionService?.AntiAddictionEnterGame(); #endif } public void OnUpdate(float deltaTime) { } public void OnExit() { //CommonUtils.CloseUIWithScene(UINameConst.UI_MainPanel); } }