private static bool ExecutePendingTasks(long millisecondsTimeout) { UnitySynchronizationContext unitySynchronizationContext = SynchronizationContext.Current as UnitySynchronizationContext; bool flag = unitySynchronizationContext == null; bool result; if (flag) { result = true; } else { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); while (unitySynchronizationContext.HasPendingTasks()) { bool flag2 = stopwatch.ElapsedMilliseconds > millisecondsTimeout; if (flag2) { break; } unitySynchronizationContext.Exec(); Thread.Sleep(1); } result = !unitySynchronizationContext.HasPendingTasks(); } return(result); }
private static void ExecuteTasks() { UnitySynchronizationContext unitySynchronizationContext = SynchronizationContext.Current as UnitySynchronizationContext; if (unitySynchronizationContext != null) { unitySynchronizationContext.Exec(); } }