using Cysharp.Threading.Tasks; using Framework; using Gameplay; using Gameplay.Guide; using Gameplay.SubSystems; using System; using System.Runtime.CompilerServices; using UnityEngine; #if SDK_TAPTAP using PhxhSDK; #endif public class GameStateMainScene : IState { private readonly Func callbackFunc; /// /// 是否打开主界面 /// private bool isOpenMain; public bool IsLogin { get; } public GameStateMainScene(bool isLogin = false, bool isOpenMain = true, Func callback = null) { callbackFunc = callback; this.isOpenMain = isOpenMain; IsLogin = isLogin; } public void OnEnter() { #region TODO 涛哥手机视频卡死测试 int test = PlayerPrefs.GetInt("Test_Login_Type", 0); // 测试代码,为0时走正常加载,1时测试通用加载 E_LoadingType loadingType; if (0 == test) loadingType = IsLogin ? E_LoadingType.Login : E_LoadingType.CommonLoading; else loadingType = E_LoadingType.CommonLoading; #endregion DebugUtil.Log("loginType:" + loadingType.ToString()); LoadingManager.Instance.ExecuteLoading(new MainSceneLoadingExecutor(loadingType, OnLoadingComplete)).Forget(); } public void OnUpdate(float deltaTime) { } public void OnExit() { } private async UniTask OnLoadingComplete() { if(isOpenMain) await UI_MainPanelController.Open(); if (null != callbackFunc) await callbackFunc.Invoke(); } }