コード例 #1
0
        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);
                    }
                });
            }
        }
コード例 #2
0
        public DataObject(params DataPair [] items)
        {
            _values = new DefaultingDictionary <string, DataElement> (Null);

            if (items != null)
            {
                AddRange(items);
            }
        }
コード例 #3
0
        public DataObject(DataPairEnumerable items)
        {
            if (items == null)
            {
                throw new ArgumentNullException("items");
            }

            _values = new DefaultingDictionary <string, DataElement> (Null);
            AddRange(items);
        }
コード例 #4
0
        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;
        }
コード例 #5
0
        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);
        }
コード例 #6
0
 public DataObject()
 {
     _values = new DefaultingDictionary <string, DataElement> (Null);
 }