unity里面自带的有配置文件方便存储数据 (.asset)
只要一个类继承自(ScriptableObject)那么就可以被创建为.asset配置文件(检查界面只能看到public的变量)
following code
public class LearnAssetFile : ScriptableObject {
private int num;
public int age;
new public string name;
}
然后使用 AssetDataBase.CreateAsset函数就可以创建.asset配置文件了
following code
public class CreateAssetFile : Editor {
private static string savePath = Application.dataPath + "/AssetFile";
[MenuItem("Assets/CreateAssetFile")]
private static void Create()
{
ScriptableObject learn_obj = ScriptableObject.CreateInstance<LearnAssetFile>();
if (learn_obj == null) return;
if (!Directory.Exists(savePath)) {
Directory.CreateDirectory(savePath);
}
string path = string.Format("Assets/AssetFile/{0}.asset", typeof(LearnAssetFile).Name);
AssetDatabase.CreateAsset(learn_obj, path);
AssetDatabase.Refresh();
AssetDatabase.SaveAssets();
}
}
这样只能在界面显示一些属性什么的 如果需要显示一个按钮啊什么的 需要扩展他的OnInspectorGUI
following code
[CustomEditor(typeof(LearnAssetFile))]
public class InspectorAssetFile : Editor {
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
if (GUILayout.Button("打印数据")) {
Debug.LogError("开始打印");
LearnAssetFile assetFile = base.target as LearnAssetFile;
Debug.LogError(assetFile.name);
Debug.LogError(assetFile.age);
}
}
}
网友评论