Exemplo n.º 1
0
 public static void Log(TaskManager.TaskLog m)
 {
     if (!TaskManager.IsMainThread)
     {
         object obj = TaskManager.syncRoot;
         lock (obj)
         {
             TaskManager.PendingLogs.Add(m);
         }
     }
     else
     {
         TaskManager.Write(m);
     }
 }
Exemplo n.º 2
0
        protected void Update()
        {
            if (TaskManager.PendingAdd.get_Count() == 0 && TaskManager.PendingRemove.get_Count() == 0 && TaskManager.PendingActions.get_Count() == 0 && TaskManager.PendingLogs.get_Count() == 0 && TaskManager.PendingCoroutineInfo.get_Count() == 0)
            {
                return;
            }
            object obj = TaskManager.syncRoot;

            lock (obj)
            {
                for (int i = 0; i < TaskManager.PendingLogs.get_Count(); i++)
                {
                    TaskManager.Write(TaskManager.PendingLogs.get_Item(i));
                }
                for (int j = 0; j < TaskManager.PendingAdd.get_Count(); j++)
                {
                    base.StartCoroutine(TaskManager.PendingAdd.get_Item(j));
                }
                for (int k = 0; k < TaskManager.PendingRemove.get_Count(); k++)
                {
                    base.StopCoroutine(TaskManager.PendingRemove.get_Item(k));
                }
                for (int l = 0; l < TaskManager.PendingCoroutineInfo.get_Count(); l++)
                {
                    base.StartCoroutine(this.RunCoroutineInfo(TaskManager.PendingCoroutineInfo.get_Item(l)));
                }
                for (int m = 0; m < TaskManager.PendingActions.get_Count(); m++)
                {
                    TaskManager.PendingActions.get_Item(m).Invoke();
                }
                TaskManager.PendingAdd.Clear();
                TaskManager.PendingRemove.Clear();
                TaskManager.PendingActions.Clear();
                TaskManager.PendingLogs.Clear();
                TaskManager.PendingCoroutineInfo.Clear();
            }
        }