public static void EnqueueJob(LoadRenderModelJob job) { if (s_worker == null) { var workerObj = new GameObject(typeof(VIUSteamVRRenderModelLoader).Name + "." + typeof(WorkerBehaviour).Name) { hideFlags = HideFlags.HideAndDontSave, }; DontDestroyOnLoad(workerObj); s_worker = workerObj.AddComponent <WorkerBehaviour>(); } if (s_jobQueue == null) { s_jobQueue = new Queue <LoadRenderModelJob>(); } s_jobQueue.Enqueue(job); s_worker.isWorking = true; }
// NOTICE: Avoid calling Load after applicaion quit, this function will create worker gameobject public static void Load(string name, Action <string> onComplete) { WorkerBehaviour.EnqueueJob(new LoadRenderModelJob(name, onComplete)); }
public Worker(WorkerBehaviour behaviour) { this.workerBehaviour = behaviour; }