A game about forced loneliness, made by TACStudios
1using System;
2using System.Threading;
3
4namespace Unity.PlasticSCM.Editor.UI
5{
6 internal static class EditorDispatcher
7 {
8 internal static void InitializeMainThreadIdAndContext(
9 int mainThreadId,
10 SynchronizationContext mainUnitySyncContext)
11 {
12 mMainThreadId = mainThreadId;
13 mMainUnitySyncContext = mainUnitySyncContext;
14 }
15
16 internal static bool IsOnMainThread
17 {
18 get { return Thread.CurrentThread.ManagedThreadId == mMainThreadId; }
19 }
20
21 internal static void Dispatch(Action task)
22 {
23 mMainUnitySyncContext.Post(_ => task(), null);
24 }
25
26 static SynchronizationContext mMainUnitySyncContext;
27 static int mMainThreadId;
28 }
29}