In der Vergangenheit habe ich Content.Load<type>("filename");
überall verwendet . Dies wird schnell zu einem Albtraum und schlimmer noch, wenn Sie mehrere Kopien desselben Assets an verschiedenen Orten laden.
Dann habe ich eine Resources-Klasse verwendet, die im Grunde wie folgt aussah:
public class Resources
{
public static Texture2D particle01;
...
public static Texture2D particle93;
public static Effect shader01;
...
public static Effect shader32;
public static Load(ContentManager content, GraphicsDevice device)
{ //load all the resources }
public static Unload()
{ //unload all the resources }
}
Dann könnte ich einfach verwenden Resources.particle01
, um von überall im selben Namespace einen Verweis auf die Ressource zu erhalten.
Dies war ein guter Ansatz, da dadurch die Duplikate beseitigt wurden, die ich in der Vergangenheit hatte. Außerdem wurde das gesamte Laden in einer einzigen Klasse durchgeführt, sodass die Ressourcen leicht im Auge behalten werden konnten. Und schließlich könnte ich zum Beispiel einfach mit der rechten Maustaste klicken particle93
und auf Alle Referenzen suchen klicken, um alle Stellen zu finden, an denen diese Textur verwendet wurde.
Es gibt jedoch Probleme mit diesem Ansatz und ich würde gerne wissen, ob es da draußen eine bessere Lösung gibt.