Exemplo n.º 1
0
        private void TaskThread()
        {
            var task = CurrentTask;

            if (task == null)
            {
                throw new Exception();
            }

            try { task.Run(); }
            catch (Exception e)
            {
                CurrentTask = null;
                Debug.LogException(e);
                return;
            }

            CurrentTask = null;
            if (task.Join)
            {
                var joinData = task.GetJoinData();
                PendingJoinTasks.Add(joinData);
            }
            else
            {
                task.CallCallback();
            }
        }
Exemplo n.º 2
0
 private void ProcessPendingJoins()
 {
     foreach (var task in PendingJoinTasks.ToArray())
     {
         PendingJoinTasks.Remove(task);
         task.Call();
     }
 }