Example #1
0
        internal ThreadManagerTask Add(Action NewTask, Action calcComplete)
        {
            ThreadManagerTask EnqueueTask = new ThreadManagerTask(NewTask, calcComplete);

            if (ProcessStack.Count < 100)
            {
                EnqueueTask.Added = true;
                ProcessStack.Enqueue(EnqueueTask);
            }
            else
            {
                EnqueueTask.Added = false;
            }
            return(EnqueueTask);
        }
Example #2
0
 internal void Update()
 {
     if (CurrentTask.IsComplete)
     {
         if (ThreadTask != null)
         {
             ThreadTask.IsComplete = true;
             ThreadTask            = null;
         }
         if (ProcessStack.TryDequeue(out ThreadTask))
         {
             CurrentTask = ThreadTask.Run();
         }
         else
         {
         }
     }
 }