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

60 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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();
}
}