草莓♭布丁

导航

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

点击确定按钮触发,点完关闭当前窗口

posted on 2021-10-26 09:36  草莓♭布丁  阅读(129)  评论(0编辑  收藏  举报

Live2D