昔はあちこちで使っContent.Load<type>("filename");
てきました。これはすぐに管理の悪夢になり、さらに悪いことに、同じアセットの複数のコピーを複数の異なる場所にロードし始めます。
次に、基本的に次のようなResourcesクラスの使用に移りました。
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 }
}
次にResources.particle01
、同じ名前空間内のどこからでもリソースへの参照を取得するために単に使用できます。
これは、私が過去に持っていた重複を排除したので、素晴らしいアプローチでした。また、すべてのロードは単一のクラスで行われたため、リソースを追跡するのは簡単でした。最後に、たとえば右クリックして、particle93
[すべての参照を検索]をクリックして、そのテクスチャを使用したすべての場所を見つけることができます。
しかし、このアプローチには問題があり、より良い解決策があるかどうか知りたいです。