Beispiel #1
0
    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);
    }
Beispiel #2
0
    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);
            }
        }
    }
Beispiel #3
0
 public static void QueueOnMainThread(LoomBase para, LoomCallBack action)
 {
     QueueOnMainThread(para, action, 0f);
 }