/*
*
* 改编后的unity3D Resources 类,使用起来更加方便,省略了在代码中拆箱装箱的操作
*
*
*
* */
using UnityEngine;
public class ResourcesEx
{
private string path;
public ResourcesEx(string path)
{
if (path.Length == 0)
{
this.path = string.Empty;
}
else
{
this.path = path;
}
}
public T[] LoadAll<T>() where T : Object
{
Object[] obj = Resources.LoadAll(this.path, typeof(T));
T[] TLoaded = new T[obj.Length];
obj.CopyTo(TLoaded, 0);
return TLoaded;
}
public T[] LoadAll<T>(string dirname) where T : Object
{
Object[] obj = Resources.LoadAll(this.path + "/" + dirname, typeof(T));
T[] TLoaded = new T[obj.Length];
obj.CopyTo(TLoaded, 0);
return TLoaded;
}
public Texture GetTexture(string textureName)
{
Object obj = Resources.Load(this.path + "/" + textureName, typeof(Texture));
if (obj)
{
return obj as Texture;
}
else
{
Debug.LogError("["+ this.path + textureName + "] Non Exist");
return new Texture();
}
}
public Texture2D GetTexture2D(string textureName)
{
Object obj = Resources.Load(this.path + "/" + textureName, typeof(Texture2D));
if (obj)
{
return obj as Texture2D;
}
else
{
Debug.LogError("["+ this.path + textureName + "] Non Exist");
return new Texture2D(1, 1);
}
}
public T GetObject<T>(string objectName) where T : Object
{
Object obj = Resources.Load(this.path + "/" + objectName, typeof(T));
if (obj)
{
return obj as T;
}
else
{
Debug.LogError("["+ this.path + objectName + "] Non Exist");
return new Object() as T;
}
}
}