34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using Cysharp.Threading.Tasks;
|
|
using UnityEngine;
|
|
using UnityEngine.AddressableAssets;
|
|
|
|
namespace BITKit
|
|
{
|
|
public class BITFramework : MonoBehaviour
|
|
{
|
|
private static Stopwatch Stopwatch;
|
|
private static InitializationState InitializationState;
|
|
[RuntimeInitializeOnLoadMethod]
|
|
private static void Reload()
|
|
{
|
|
InitializationState = InitializationState.None;
|
|
Stopwatch = Stopwatch.StartNew();
|
|
}
|
|
[SerializeField] private AssetReference serviceReference;
|
|
private async void Start()
|
|
{
|
|
if(InitializationState is not InitializationState.None)return;
|
|
InitializationState = InitializationState.Initializing;
|
|
var asyncOperationHandle = serviceReference.LoadAssetAsync<GameObject>();
|
|
await UniTask.WaitUntil(() => asyncOperationHandle.IsDone);
|
|
DontDestroyOnLoad(Instantiate(asyncOperationHandle.Result));
|
|
Stopwatch.Stop();
|
|
BIT4Log.Log<BITFramework>($"BITFramework加载完成,耗时:{Stopwatch.ElapsedMilliseconds}ms");
|
|
}
|
|
}
|
|
}
|
|
|