private void ProcessResource(ContentPreload resource) { try { var id = resource.ID; var item = resource.Item; switch (resource.Type) { case ContentPreloadType.UITexture: /** Apply alpha channel masking & load into GD **/ UIElement.StoreTexture(id, item, true, true); break; case ContentPreloadType.UITexture_NoMask: UIElement.StoreTexture(id, item, false, false); break; case ContentPreloadType.Other: ContentManager.TryToStoreResource(id, item); break; } } catch { } }
private static void ProcessResource(ContentPreload resource, ContentResource item) { var id = resource.ID; try { switch (resource.Type) { case ContentPreloadType.UITexture: /** Apply alpha channel masking & load into GD **/ UIElement.StoreTexture(id, item, true, true); break; case ContentPreloadType.UITexture_NoMask: UIElement.StoreTexture(id, item, false, true); break; case ContentPreloadType.Other: ContentManager.TryToStoreResource(id, item); break; } } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Failed to load file: " + id + ", " + e.Message); } }
public void Process(ContentPreload resource, ContentResource item) { m_Lock.WaitOne(); lock (m_Work) { resource.Item = item; m_Work.Add(resource); } }
private void DoProcess() { while (!m_Done) { ContentPreload nextWork = null; lock (m_Work) { if (m_Work.Count > 0) { nextWork = m_Work[0]; m_Work.RemoveAt(0); } } if (nextWork != null) { ProcessResource(nextWork); m_Lock.Release(); } } }