写一个如下的类:
public class AssetsConfig : ScriptableObject
{
public string Table_Path = "Assets/Table/";
private static AssetsConfig g_AssetsConfig;
public static AssetsConfig GlobalAssetsConfig
{
get
{
if (g_AssetsConfig == null)
{
g_AssetsConfig = AssetDatabase.LoadAssetAtPath<AssetsConfig>("Assets/Editor/EditorResources/AssetsConfig.asset");
}
if (g_AssetsConfig == null)
{
g_AssetsConfig = ScriptableObject.CreateInstance<AssetsConfig>();
}
return g_AssetsConfig;
}
}
}
在untiy中存有一个文件:
这个文件是怎么创建出来的呢?
使用如下的代码:
[MenuItem("Assets/Tool/Config/Assets_Create")]
static void CreateConfig()
{
AssetsConfig ac = ScriptableObject.CreateInstance<AssetsConfig>();
CreateAsset<AssetsConfig>("Assets/Editor/EditorResources", "AssetsConfig", ".asset", ac);
}
这样之后,就有了继成自ScriptableObject的自定义文件了。
我要说的是不是这个,而是每次重新启动unity的时候,这个值才会被置为空。也就是说只要一次运行之后,该静态实例就会有值,除非你把unity关闭。