public static void LoadResourcesFromUrls <T>(Action <Dictionary <string, T> > callback, params string[] urls)
            where T : UnityEngine.Object
        {
            int completeCount = 0;

            Dictionary <string, T> results = new Dictionary <string, T>();

            var distinctUrls = urls.Distinct().ToArray();
            int count        = distinctUrls.Length;

            foreach (var url in distinctUrls)
            {
                XmlLayoutTimer.StartCoroutine(LoadResource <T>(url,
                                                               (x) =>
                {
                    results.Add(url, x);
                    completeCount++;

                    if (completeCount == count)
                    {
                        callback(results);
                    }
                }));
            }
        }
 public static void LoadTextFromUrl(Action <string> callback, string url)
 {
     XmlLayoutTimer.StartCoroutine(LoadText(url, callback));
 }