代码很简单,我们把加载到内存中的资源用一个字典保存起来,用到的时候从字典中获取。
如果需要清除已经加载到内存中的资源,需要扩展该方法
代码:
public class GameResourceManager{
private Dictionary<string, GameObject> _resourceDict;
public GameResourceManager()
{
_resourceDict = new Dictionary<string, GameObject>();
}
public GameObject LoadResource(string path)
{
//判断内存中是否已经有path路径下的资源,没有的话加载到内存
if (!_resourceDict.ContainsKey(path))
{
_resourceDict[path] = Resources.Load<GameObject>(path);
}
if (_resourceDict[path] == null)
{
return null;
}
return GameObject.Instantiate(_resourceDict[path]);
}
}