fCraft.Tasks.Add C# (CSharp) Method

Add() public method

public Add ( System.Threading.Task callback, object param, bool isPriority ) : void
callback System.Threading.Task
param object
isPriority bool
return void
        public void Add( Task callback, object param, bool isPriority ) {
            if( keepGoing ) {
                KeyValuePair<Task, object> newTask = new KeyValuePair<Task, object>( callback, param );
                if( isPriority ) {
                    lock( priorityQueueLock ) {
                        priorityTasks.Enqueue( newTask );
                    }
                } else {
                    lock( queueLock ) {
                        tasks.Enqueue( newTask );
                    }
                }
            }
        }

Usage Example

Example #1
0
 void SaveMap(object param)
 {
     if (lockDown)
     {
         return;
     }
     if (map.changesSinceSave > 0)
     {
         tasks.Add(
             delegate {
             map.changesSinceSave = 0;
             map.Save();
         }, null, false);
     }
 }