public void LoadResources(IEnumerable <string> resourceNames, System.Action <DefaultingDictionary <string, Object> > handler) { DefaultingDictionary <string, Object> resources = new DefaultingDictionary <string, Object>(); int pending = resourceNames.Count(); if (pending == 0) { handler(resources); return; } foreach (string name in resourceNames) { ITask <Object> loader = LoadResource <Object>(name); loader.Start(result => { if (result.IsOk()) { resources[name] = loader.Result; } pending--; if (pending == 0) { handler(resources); } }); } }
public DataObject(params DataPair [] items) { _values = new DefaultingDictionary <string, DataElement> (Null); if (items != null) { AddRange(items); } }
public DataObject(DataPairEnumerable items) { if (items == null) { throw new ArgumentNullException("items"); } _values = new DefaultingDictionary <string, DataElement> (Null); AddRange(items); }
IEnumerator Load() { DefaultingDictionary <string, Object> resources = null; GameApplication.Instance.AssetManager.LoadResources(resourceNames, r => { resources = r; }); while (resources == null) { yield return(null); } _done = true; _resources = resources; yield break; }
public System.Func <IEnumerator> GetResourceCacher(IEnumerable <string> resourceNames) { IList <string> bundlelessResources = new List <string>(); DefaultingDictionary <string, string> bundleNames = new DefaultingDictionary <string, string>(); foreach (string assetName in resourceNames) { string bundleName = GetBundleName(assetName); if (bundleName != "") { bundleNames[bundleName] = bundleName; } else { bundlelessResources.Add(assetName); } } System.Func <IEnumerator> bundleCacher = GetBundleCacher(bundleNames.Keys); return(bundleCacher); }
public DataObject() { _values = new DefaultingDictionary <string, DataElement> (Null); }