Böyle bir şey ister miydi?
public static Dictionary<String, T> LoadContent<T>(this ContentManager contentManager, string contentFolder)
{
//Load directory info, abort if none
DirectoryInfo dir = new DirectoryInfo(contentManager.RootDirectory + "\\" + contentFolder);
if (!dir.Exists)
throw new DirectoryNotFoundException();
//Init the resulting list
Dictionary<String, T> result = new Dictionary<String, T>();
//Load all files that matches the file filter
FileInfo[] files = dir.GetFiles("*.*");
foreach (FileInfo file in files)
{
string key = Path.GetFileNameWithoutExtension(file.Name);
result[key] = contentManager.Load<T>(contentManager.RootDirectory + "/" + contentFolder + "/" + key);
}
//Return the result
return result;
}
Neden sadece içerik klasörünü taramayı düşünmedim:/ –
Harika şeyler! Bunu kullanmak için mücadele eden herkes için, projem için Content.RootDirectory = İçeriği zaten ayarlamış olduğum için yük içeriğinden "contentManager.RootDirectory +" öğesini kaldırmam gerektiğini buldum. Ayrıca bu yöntemin, kullanılacak statik bir sınıfta olması gerekir. – Mafro34
Bu, tüm içeriği (bu nedenle yöntemin adı) yüklemek gibi görünüyor. Sadece öğeleri sıralamak istiyorsanız, ancak * yüklemezseniz, bu biraz ağır olabilir. Ayrıca, içeriği yüklemeden belirli bir tür içeriğinin numaralandırmanın herhangi bir yolu olduğunu sanmıyorum. Meh. Bu senaryoda çevrimdışı bir adımın işe yarayacağını varsayalım. –
cod3monk3y