VR4Medical/ICI/Library/PackageCache/com.unity.collab-proxy@c854d1f7d97f/Editor/UI/EditorDispatcher.cs
2025-07-29 13:45:50 +03:00

30 lines
779 B
C#

using System;
using System.Threading;
namespace Unity.PlasticSCM.Editor.UI
{
internal static class EditorDispatcher
{
internal static void InitializeMainThreadIdAndContext(
int mainThreadId,
SynchronizationContext mainUnitySyncContext)
{
mMainThreadId = mainThreadId;
mMainUnitySyncContext = mainUnitySyncContext;
}
internal static bool IsOnMainThread
{
get { return Thread.CurrentThread.ManagedThreadId == mMainThreadId; }
}
internal static void Dispatch(Action task)
{
mMainUnitySyncContext.Post(_ => task(), null);
}
static SynchronizationContext mMainUnitySyncContext;
static int mMainThreadId;
}
}