/// <summary>
/// pc端加载Assets/Atlas 目录下的图集
/// </summary>
/// <param name="atlasName">出入的图集名不需要后缀名</param>
public UIAtlas GetLocalAtlas(string atlasName)
{
UIAtlas _uiAtlas = null;
string _path = "Assets/Atlas/";
if (Directory.Exists(_path))
{
DirectoryInfo _directory = new DirectoryInfo(_path);
FileInfo[] _files = _directory.GetFiles("*.prefab", SearchOption.AllDirectories);
FileInfo _file = _files.ToList().Find(_d => _d.Name == atlasName + ".prefab");
if (_file != null)
{
string _fullPath = _file.FullName;//包含盘符目录
string[] _str = new[] { "Assets" };//通过该字符串分割完整路径
string _subPath = _fullPath.Split(_str, StringSplitOptions.None)[1];//分割完整路径
Object _obj = AssetDatabase.LoadAssetAtPath<Object>("Assets" + _subPath);
if (_obj != null)
{
_uiAtlas = (_obj as GameObject).GetComponent<UIAtlas>();
}
}
}
return _uiAtlas;
/// pc端加载Assets/Atlas 目录下的图集
/// </summary>
/// <param name="atlasName">出入的图集名不需要后缀名</param>
public UIAtlas GetLocalAtlas(string atlasName)
{
UIAtlas _uiAtlas = null;
string _path = "Assets/Atlas/";
if (Directory.Exists(_path))
{
DirectoryInfo _directory = new DirectoryInfo(_path);
FileInfo[] _files = _directory.GetFiles("*.prefab", SearchOption.AllDirectories);
FileInfo _file = _files.ToList().Find(_d => _d.Name == atlasName + ".prefab");
if (_file != null)
{
string _fullPath = _file.FullName;//包含盘符目录
string[] _str = new[] { "Assets" };//通过该字符串分割完整路径
string _subPath = _fullPath.Split(_str, StringSplitOptions.None)[1];//分割完整路径
Object _obj = AssetDatabase.LoadAssetAtPath<Object>("Assets" + _subPath);
if (_obj != null)
{
_uiAtlas = (_obj as GameObject).GetComponent<UIAtlas>();
}
}
}
return _uiAtlas;
}
因为我的图集是放在Assets/Atlas目录下面,所以相对路径填这个路径就可以了