Unity编辑器扩展:ScriptableWizard窗口
先上效果图:

具体代码如下:
public class SimpleWizard : ScriptableWizard
{
public GameObject test;
[MenuItem("GameObject/SimpleWizard")]
static void Init()
{
ScriptableWizard.DisplayWizard<SimpleWizard>("TestWizard", "确定", "应用");
}
/// <summary>
/// 条件限制,不满足条件按钮不亮
/// </summary>
void OnWizardUpdate()
{
helpString = "窗口介绍";
isValid = (test != null);
}
/// <summary>
/// 点击应用调用,不会关闭窗口
/// </summary>
void OnWizardOtherButton()
{
Debug.Log("Apply");
ApplySet();
}
/// <summary>
/// 点击确定调用,会关闭窗口
/// </summary>
void OnWizardCreate()
{
Debug.Log("Create");
ApplySet();
}
public void ApplySet()
{
//要执行的操作
}
}
1,Init函数
函数名不一定非要是Init,只需要进行MenuItem标记即可,在对应路径下点开会多一个选项。

DisplayWizard函数的泛型需要选择当前类作为目标类,三个参数分别是:标题,确定按钮,应用按钮。(不加第三个参数没有应用按钮)
2,OnWizardUpdate
isValid用于条件判断,只有满足条件,按钮才会亮起。窗口中的值改变时触发
3,OnWizardOtherButton
点击应用按钮触发,不会关闭当前窗口
4,OnWizardCreate
点击确定按钮触发,点完关闭当前窗口
浙公网安备 33010602011771号