60 lines
1.6 KiB
C#
60 lines
1.6 KiB
C#
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<UniTask> callbackFunc;
|
||
/// <summary>
|
||
/// 是否打开主界面
|
||
/// </summary>
|
||
private bool isOpenMain;
|
||
|
||
public bool IsLogin { get; }
|
||
|
||
public GameStateMainScene(bool isLogin = false, bool isOpenMain = true, Func<UniTask> 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();
|
||
}
|
||
} |