using UnityEngine;
using UnityEditor;
using System.IO;
public class CustomAssets<T> : ScriptableObject
{
static string configPath = string.Format("Assets/Main/{0}.asset", typeof(T).ToString());
public T m_list;
[MenuItem("ArgsList/CreateArgsList")]
static void CreateArgsList()
{
if (!File.Exists(configPath))
CreateAsset();
}
public static void CreateAsset()
{
//将对象实例化
ScriptableObject so = ScriptableObject.CreateInstance(typeof(global::T));
if (so == null)
{
Debug.Log("该对象无效,无法将对象实例化");
return;
}
string path = Application.dataPath + "/Main";
//判断该路径是否存在,不存在的话创建一个
if (Directory.Exists(path) == false)
{
Directory.CreateDirectory(path);
}
AssetDatabase.CreateAsset(so, configPath);
}
}
该脚本放在Editor下面

本文介绍了一个使用Unity和C#实现的自定义资源管理类CustomAssets。该类用于创建和管理特定类型的Unity资源,通过实例化指定类型的ScriptableObject来创建资产,并将其保存在项目的特定路径下。文章详细展示了如何使用该类创建资源文件,并提供了完整的代码示例。
671

被折叠的 条评论
为什么被折叠?



