赞
踩
常用参数 | 描述 |
---|---|
position | 窗口在屏幕空间中的理想位置。 |
titleContent | 用于绘制 EditorWindow 标题的 GUIContent。 |
Close | 关闭编辑器窗口。 |
Show | 显示 EditorWindow 窗口。 |
ShowAsDropDown | 显示包含下拉菜单和样式的窗口。 |
ShowAuxWindow | 在辅助窗口中显示编辑器窗口。 |
ShowModal | 显示模态编辑器窗口。 |
ShowNotification | 显示通知消息。 |
ShowPopup | 使用弹出式框架显示编辑器窗口。 |
ShowUtility | 将 EditorWindow 显示为浮动实用程序窗口。 |
CreateWindow | 创建类型为 T 的 EditorWindow。 |
FocusWindowIfItsOpen | 聚焦发现的第一个指定类型的 EditorWindow(如果已打开)。 |
GetWindow | 返回当前屏幕上的第一个 windowType 类型的 EditorWindow。 |
GetWindowWithRect | 返回当前屏幕上第一个 t 类型的 EditorWindow。 |
HasOpenInstances | 检查编辑器窗口是否已打开。 |
OnBecameInvisible | 在窗口从容器视图中删除或在 EditorWindow 的选项卡式集合中不再可见后调用。 |
OnBecameVisible | 将窗口添加到容器视图后调用。 |
OnDestroy | 调用 OnDestroy 以关闭 EditorWindow 窗口。 |
OnFocus | 在窗口获得键盘焦点时调用。 |
OnGUI | 在此处实现您自己的 Editor GUI。 |
OnHierarchyChange | 处理程序,用于在层级视图中的对象或对象组发生更改时发送的消息。 |
OnInspectorUpdate | OnInspectorUpdate 以每秒 10 帧的速度调用,以便检视面板有机会进行更新。 |
OnLostFocus | 在窗口失去键盘焦点时调用。 |
OnProjectChange | 处理程序,用于在项目状态发生更改时发送的消息。 |
OnSelectionChange | 每当选择发生更改时调用。 |
using UnityEditor;
using UnityEngine;
public class WindowExample : EditorWindow
{
private static WindowExample window;//窗体实例
//显示窗体
[MenuItem("MyWindow/Second Window")]
private static void ShowWindow()
{
window = EditorWindow.GetWindow<WindowExample>("Window Example");
window.Show();
}
//显示时调用
private void OnEnable()
{
Debug.Log("OnEnable");
}
//绘制窗体内容
private void OnGUI()
{
EditorGUILayout.LabelField("Your Second Window", EditorStyles.boldLabel);
}
//固定帧数调用
private void Update()
{
Debug.Log("Update");
}
//隐藏时调用
private void OnDisable()
{
Debug.Log("OnDisable");
}
//销毁时调用
private void OnDestroy()
{
Debug.Log("OnDestroy");
}
}
常用参数 | 描述 |
---|---|
createButtonName | 允许您设置向导的 Create 按钮上显示的文本。 |
errorString | 允许您设置向导的错误文本。 |
helpString | 允许您设置向导的帮助文本。 |
isValid | 允许您启用向导 Create 按钮,或者将其禁用,从而使用户无法点击。 |
otherButtonName | 允许您设置向导的可选 Other 按钮上显示的文本。忽略此参数将不显示该按钮。 |
OnWizardCreate | 当用户单击 Create 按钮时,将调用此函数。 |
OnWizardOtherButton | 允许您在用户单击 Others 按钮时提供操作。 |
OnWizardUpdate | 在向导打开或者用户在向导中更改内容时,将调用此函数。 |
using UnityEditor;
using UnityEngine;
public class WindowExample : ScriptableWizard
{
public float range = 500;
public Color color = Color.red;
[MenuItem("GameObject/Create Light Wizard")]
static void CreateWizard()
{
ScriptableWizard.DisplayWizard<WindowExample>("Create Light", "Create", "Apply");
如果您不想使用辅助按钮,只需将其省略即可:
//ScriptableWizard.DisplayWizard<WizardCreateLight>("Create Light", "Create");
}
//显示在向导窗口里的变量
public float speedValue = 10;
public bool canShoot = true;
//用户单击创建按钮进行调用,固定用法,点击后向导窗口关闭
private void OnWizardCreate()
{
Debug.Log("Create : Change By Value");
//一般在这里做最终的处理
//比如在这里可以获取选中的全部object,再利用向导窗口里填写的变量批量改变文件数值
}
//用户单击自定义其他按钮时进行调用,固定用法,点击后向导窗口不会关闭
private void OnWizardOtherButton()//在这里是一个初始化数据的功能
{
Debug.Log("Clear");
speedValue = 0;
canShoot = false;
ShowNotification(new GUIContent("数据已经初始化完毕"));//该功能用来弹出一个小提示通知信息,几秒后自动消失
}
//打开向导或者更改向导里的内容时进行调用,固定用法
private void OnWizardUpdate()
{
Debug.Log("Change");
//当在向导窗口里一些操作错误或者不规范时,可以通过设置helpString和errorString来进行提示操作人员
helpString = "文中某某变量填写规范为\"XXXX+DDDD+SS\"";
errorString = "文中某某变量填写不规范";
//编辑器模式下,可以使用EditorPrefs进行数据的存取,用法与游戏运行时PlayerPrefs用法一致
EditorPrefs.SetFloat("key", speedValue);
}
//当在工程里选中操作有变化时进行调用
private void OnSelectionChange()
{
OnWizardUpdate();
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。