public static void AsyncExecutor(Action action, AsyncOptions options)
{
if (options.ExecuteCallbackOnMainThread)
{
if (UnityInitializer.IsMainThread())
{
SafeExecute(action);
}
else
{
UnityRequestQueue.Instance.ExecuteOnMainThread(action);
}
}
else
{
if (!UnityInitializer.IsMainThread())
{
SafeExecute(action);
}
else
{
ThreadPool.QueueUserWorkItem((state) =>
{
SafeExecute(action);
});
}
}
}