public LoadWaiter(ILoadable[] loadables, Loader.LoadedCallbackMethod loadedCallback) { this.loadables = loadables; LoadedCallback = loadedCallback; Loader.AddLoadable(this); }
private void init(string filename, Stream stream, Loader.LoadedCallbackMethod loadedCallback) #endif { try { if (filename != null) { fromFile = true; #if WINRT || WP8 LoadedStream = await Streams.OpenFile(filename); #elif NaCl this.loadedCallback = loadedCallback; filename = filename.Replace('\\', '/'); file = new NaClFile(filename); Streams.NaClFileLoadedCallback += fileLoaded; Streams.addPendingFile(file); Loader.AddLoadable(this); return; #else LoadedStream = Streams.OpenFile(filename); #endif } else { fromFile = false; LoadedStream = stream; } } catch (Exception e) { FailedToLoad = true; Loader.AddLoadableException(e); Dispose(); if (loadedCallback != null) { loadedCallback(this, false); } return; } Loaded = true; if (loadedCallback != null) { loadedCallback(this, true); } }
public StreamLoader(string filename, Loader.LoadedCallbackMethod loadedCallback) { Loader.AddLoadable(this); init(filename, null, loadedCallback); }
public StreamLoader(Stream stream, Loader.LoadedCallbackMethod loadedCallback) { Loader.AddLoadable(this); init(null, stream, loadedCallback); }