ScriptableObject
创建Asset资源文件
using UnityEngine;
//fileName 创建文件名字 menuName 菜单显示名字 order 菜单层级
[CreateAssetMenu(fileName = "ScriptableObjectExample",menuName = "Create ScriptableObjectExample",order = 85)]
public class ScriptableObjectExample : ScriptableObject
{
}
[CreateAssetMenu] 快速创建资源文件
ScriptableWizard
创建编辑窗口
using UnityEditor;
using UnityEngine;
public class ScriptableWizardExample : ScriptableWizard
{
public float value1;
public float value2;
public float resul;
[MenuItem("Unity编辑器拓展/ScriptableWizardExample")]
static void Create()
{
//(窗口名字,OnWizardCreate绑定按键名字,OnWizardOtherButton绑定按键名字)
ScriptableWizard.DisplayWizard<ScriptableWizardExample>("ScriptableWizardExample", "确定", "应用");
Debug.Log("CreateWizard");
}
//开启窗口或数据更新时调用
void OnWizardUpdate()
{
helpString = "帮助或说明……";
errorString = "错误";
resul = value1 + value2;
Debug.Log("OnWizardUpdate");
}
//当用户按下"应用"时被调用,保存设置但不关闭窗口
void OnWizardOtherButton()
{
Debug.Log("OnWizardOtherButton");
}
//点击"确定"时调用,关闭窗口并保存设置
void OnWizardCreate()
{
Debug.Log("OnWizardCreate");
}
}