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

56 lines
1.4 KiB
C#
Raw Normal View History

2024-05-17 19:27:02 +08:00
using Cysharp.Threading.Tasks;
2023-08-22 19:08:45 +08:00
using Framework;
using Gameplay;
2024-05-29 16:36:30 +08:00
using Gameplay.Guide;
2023-08-22 19:08:45 +08:00
using Gameplay.SubSystems;
using System;
2024-07-12 15:21:16 +08:00
using System.Runtime.CompilerServices;
2024-05-31 14:26:33 +08:00
#if SDK_TAPTAP
using PhxhSDK;
#endif
2023-08-22 19:08:45 +08:00
2023-10-19 15:00:19 +08:00
public class GameStateMainScene : IState
2023-08-22 19:08:45 +08:00
{
2024-10-15 18:48:43 +08:00
private readonly Func<UniTask> callbackFunc;
/// <summary>
/// 是否打开主界面
/// </summary>
private bool isOpenMain;
2024-07-12 15:21:16 +08:00
public bool IsLogin { get; }
public GameStateMainScene(bool isLogin = false, bool isOpenMain = true, Func<UniTask> callback = null)
{
2024-10-15 18:48:43 +08:00
callbackFunc = callback;
this.isOpenMain = isOpenMain;
2024-07-12 15:21:16 +08:00
IsLogin = isLogin;
}
2024-08-28 17:03:50 +08:00
public void OnEnter()
2023-08-22 19:08:45 +08:00
{
2024-07-12 15:21:16 +08:00
E_LoadingType loadingType = IsLogin ? E_LoadingType.Login : E_LoadingType.CommonLoading;
2024-08-30 15:58:29 +08:00
LoadingManager.Instance.ExecuteLoading(new MainSceneLoadingExecutor(loadingType, OnLoadingComplete)).Forget();
2024-05-31 14:06:02 +08:00
2023-10-19 15:00:19 +08:00
#if SDK_TAPTAP
var antiAddictionService = SDKManager.Instance.GetSdkHelper(SDKManager.SdkName.TapTap) as IAntiAddictionService;
antiAddictionService?.AntiAddictionEnterGame();
#endif
2023-08-22 19:08:45 +08:00
}
public void OnUpdate(float deltaTime)
{
}
2024-02-22 12:46:45 +08:00
public void OnExit()
2023-08-22 19:08:45 +08:00
{
}
2024-10-15 18:17:40 +08:00
private async UniTask OnLoadingComplete()
{
if(isOpenMain)
await UI_MainPanelController.Open();
if (null != callbackFunc)
2024-10-15 18:48:43 +08:00
await callbackFunc.Invoke();
2023-08-22 19:08:45 +08:00
}
}