Trong quá khứ tôi đã sử dụng Content.Load<type>("filename");
khắp nơi. Điều này nhanh chóng trở thành một cơn ác mộng để quản lý và tệ hơn là bạn bắt đầu có nhiều bản sao của cùng một tài sản được tải ở nhiều nơi khác nhau.
Sau đó, tôi chuyển sang sử dụng một lớp Tài nguyên về cơ bản trông như sau:
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 }
}
Sau đó, tôi chỉ có thể sử dụng Resources.particle01
để có được một tham chiếu đến tài nguyên từ bất kỳ đâu trong cùng một không gian tên.
Đây là một cách tiếp cận tốt đẹp vì nó đã loại bỏ các bản sao mà tôi có trong quá khứ. Ngoài ra tất cả việc tải được thực hiện trong một lớp duy nhất, vì vậy thật dễ dàng để theo dõi các tài nguyên. Và cuối cùng, tôi có thể chỉ cần nhấp chuột phải, ví dụ, particle93
và nhấp vào tìm tất cả các tham chiếu để tìm tất cả các địa điểm đã sử dụng kết cấu đó.
Tuy nhiên, có những vấn đề với phương pháp này và tôi muốn biết liệu có giải pháp nào tốt hơn không.