Exemplo n.º 1
0
        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();
            }
        }