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

69 lines
1.5 KiB
C#

using Gameplay.Data;
using PhxhSDK;
using PhxhSDK.AOT;
using UnityEngine;
namespace Gameplay
{
public class Main : SingletonMono<Main>
{
private Game _game;
public bool isInited
{
get;
private set;
}
public EGameStartType startType = EGameStartType.Normal;
public string startParam = "";
private void _InitGame()
{
SDKManager.GetSingleton().InitEarly();
_game = new MyGame();
if (_game == null)
{
DebugUtil.LogError("PhxhSDK.Main: no game instance created");
}
SDKManager.GetSingleton().Init();
_game.Init();
_game.Start();
}
private async void _InitAsync()
{
isInited = false;
#if USE_YOO
await YooAssetHelper.Init();
#endif
isInited = true;
_InitGame();
}
private void Start()
{
_InitAsync();
}
private void Update()
{
if (!isInited) return;
_game.Update(Time.deltaTime);
SDKManager.Instance.Update();
}
private void OnApplicationPause(bool pauseStatus)
{
if (!isInited) return;
_game.OnApplicationPause(pauseStatus);
}
private void OnDestroy()
{
_game.Release();
SDKManager.Instance.Release();
}
}
}