using Cysharp.Threading.Tasks; using Framework; using Gameplay; using Gameplay.Guide; using Gameplay.SubSystems; using System; #if SDK_TAPTAP using PhxhSDK; #endif public class GameStateMainScene : IState { private Action callbackAction; public GameStateMainScene(Action callback = null) { callbackAction = callback; } public async void OnEnter() { if (null == callbackAction) LoadingExecutorManager.Instance.ExecuteLoading(new MainSceneLoadingExecutor()).Forget(); else { await LoadingExecutorManager.Instance.ExecuteLoading(new MainSceneLoadingExecutor()); 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); } }