This commit is contained in:
CortexCore
2024-06-20 17:28:56 +08:00
parent 554af9ca4e
commit 0423dc7c48
6 changed files with 213 additions and 73 deletions

View File

@@ -24,6 +24,10 @@ namespace BITKit
private static int _count;
public static async UniTask SwitchToMainThread()
{
if (SynchronizationContext is null)
{
return;
}
await UniTask.SwitchToSynchronizationContext(SynchronizationContext);
}
public static class Time
@@ -178,7 +182,8 @@ namespace BITKit
/// <summary>
/// 主线程
/// </summary>
public static SynchronizationContext SynchronizationContext { get; private set; }
public static SynchronizationContext SynchronizationContext { get; set; } =
SynchronizationContext.Current;
[System.Serializable]
public class OpenPath : IAction, IDisposable
@@ -248,7 +253,18 @@ namespace BITKit
_count = 0;
Time.TimeAsDouble = 0;
Time.DeltaTime = 1 / 60f;
SynchronizationContext=SynchronizationContext.Current;
SynchronizationContext = (SynchronizationContext, SynchronizationContext.Current) switch
{
(null, not null) => SynchronizationContext.Current,
_ => SynchronizationContext
};
if (SynchronizationContext is null)
{
BIT4Log.Warning<BITApp>("未找到主线程上下文,等待主线程将不可用");
}
Settings = settings??new AppSettings();
CancellationTokenSource = new CancellationTokenSource();
AppName = appName;