public static Thread RunAsync(LoomBase para, LoomCallBack a) { para.mAction = a; Initialize(); while (numThreads >= maxThreads) { Thread.Sleep(1); } Interlocked.Increment(ref numThreads); ThreadPool.QueueUserWorkItem(RunAction, para); return(null); }
public static void QueueOnMainThread(LoomBase para, LoomCallBack action, float time) { para.mAction = action; if (time != 0) { lock (Current._delayed) { Current._delayed.Add(new DelayedQueueItem { time = Time.time + time, Para = para }); } } else { lock (Current._actions) { Current._actions.Add(para); } } }
public static void QueueOnMainThread(LoomBase para, LoomCallBack action) { QueueOnMainThread(para, action, 0f); }