Unity编辑器开发——EditorWindow

这篇具有很好参考价值的文章主要介绍了Unity编辑器开发——EditorWindow。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

官方文档:EditorWindow - Unity 脚本 API

EditorWindow  继承自  ScriptableObject文章来源地址https://www.toymoban.com/news/detail-586998.html

一、变量

1.静态变量

变量名 官方解释 使用场景
focusWindow 当前已获得键盘焦点的 EditorWindow。(只读)
mouseOverWindow 当前在鼠标光标下的 EditorWindow。(只读)

2.变量

变量名 官方解释 使用场景
titleContent 用于绘制 EditorWindow 标题的 GUIContent。
position 窗口在屏幕空间中的理想位置。
maxSize 窗口最大值
minSize 窗口最小值
maximized 此窗口是否已最大化?
rootVisualElement 获取窗口层级视图的根视觉元素。
hasFocus 窗口是否被聚焦
autoRepaintOnSceneChange 窗口是否会在场景每次发生变化时自动重绘?
docked Returns true if EditorWindow is docked.
hasUnsavedChanges This property specifies whether the Editor prompts the user to save or discard unsaved changes before the window closes.
saveChangesMessage The message that displays to the user if they are prompted to save
wantsLessLayoutEvents Specifies whether a layout pass is performed before all user events (for example, EventType.MouseDown or [[EventType, KeyDown]]), or is only performed before repaint events.
wantsMouseEnterLeaveWindow 检查是否已在此编辑器窗口的 GUI 中收到 MouseEnterWindow 和 MouseLeaveWindow 事件。
wantsMouseMove 检查是否已在此编辑器窗口的 GUI 中收到 MouseMove 事件。

二、方法

1.受保护的方法

变量名 官方解释 使用场景
OnBackingScaleFactorChanged Called when the UI scaling for this EditorWindow is changed.

2.静态方法

变量名 官方解释 使用场景
CreateWindow 创建类型为 T 的 EditorWindow。
FocusWindowIfItsOpen 聚焦发现的第一个指定类型的 EditorWindow(如果已打开)。
GetWindow 返回当前屏幕上第一个 t 类型的 EditorWindow。
GetWindowWithRect 返回当前屏幕上第一个 t 类型的 EditorWindow。
HasOpenInstances 检查编辑器窗口是否已打开。

3.方法

BeginWindows 标记所有弹出窗口的开始区域。
Close 关闭编辑器窗口。
DiscardChanges Discards unsaved changes to the contents of the window.
EndWindows 关闭由 EditorWindow.BeginWindows 开始的窗口组。
Focus 将键盘焦点移动到另一个 EditorWindow。
GetExtraPaneTypes 获取与窗口关联的额外窗格。
RemoveNotification 停止显示通知消息。
Repaint 重绘窗口。
SaveChanges Performs a save action on the contents of the window.
SendEvent 将事件发送到窗口。
Show 显示 EditorWindow 窗口。
ShowAsDropDown 显示包含下拉菜单和样式的窗口。
ShowAuxWindow 在辅助窗口中显示编辑器窗口。
ShowModal 显示模态编辑器窗口。
ShowModalUtility 将 EditorWindow 显示为浮动模态窗口。
ShowNotification 显示通知消息。
ShowPopup 使用弹出式框架显示编辑器窗口。
ShowUtility 将 EditorWindow 显示为浮动实用程序窗口。
TryGetOverlay Get an Overlay with matching ID from an EditorWindow canvas.

三、消息(生命周期)

Awake 在新窗口打开时调用。
CreateGUI CreateGUI is called when the EditorWindow's rootVisualElement is ready to be populated.
hasUnsavedChanges This property specifies whether the Editor prompts the user to save or discard unsaved changes before the window closes.
OnDestroy 调用 OnDestroy 以关闭 EditorWindow 窗口。
OnFocus 在窗口获得键盘焦点时调用。
OnGUI 在此处实现您自己的 Editor GUI。
OnHierarchyChange 处理程序,用于在层级视图中的对象或对象组发生更改时发送的消息。
OnInspectorUpdate OnInspectorUpdate 以每秒 10 帧的速度调用,以便检视面板有机会进行更新。
OnLostFocus 在窗口失去键盘焦点时调用。
OnProjectChange 处理程序,用于在项目状态发生更改时发送的消息。
OnSelectionChange 每当选择发生更改时调用。
saveChangesMessage The message that displays to the user if they are prompted to save
Update 在所有可见窗口上每秒调用多次。

到了这里,关于Unity编辑器开发——EditorWindow的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity3D编辑器开发】Unity3D中实现查看键盘对应KeyCode值面板【方便开发】

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 在开发中,会遇到要使用监控键盘输入的KeyCode值来执行代码的情况。 比如说: 但是,如果是一些不常

    2024年02月08日
    浏览(71)
  • 【Unity3D编辑器开发】Unity3D中实现Transform快速复制粘贴【非常实用】

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 在开发中,常常会遇到频繁复制粘贴物体的坐标、旋转、缩放的操作。 使用Unity自带的组件复制粘贴比

    2024年02月07日
    浏览(61)
  • Unity编辑器扩展 | 编辑器扩展基础入门

    前言 当谈到游戏开发工具,Unity编辑器是一个备受赞誉的平台。它为开发者提供了一个强大且灵活的环境,使他们能够创建令人惊叹的游戏和交互式体验。 然而,Unity编辑器本身也是可以扩展和定制的,这为开发者提供了进一步提升工作流程和增强功能的机会。 在Unity 编辑器

    2024年02月10日
    浏览(71)
  • 【Unity编辑器扩展】 | 编辑器扩展入门基础

    前言 当谈到游戏开发工具,Unity编辑器是一个备受赞誉的平台。它为开发者提供了一个强大且灵活的环境,使他们能够创建令人惊叹的游戏和交互式体验。 然而,Unity编辑器本身也是可以扩展和定制的,这为开发者提供了进一步提升工作流程和增强功能的机会。 在Unity 编辑器

    2024年02月10日
    浏览(79)
  • Unity 可视化节点编辑器(GraphView、编辑器扩展)

      前几天把导师的项目打包发布交了一稿,这半个星期除了再把项目缝缝补补外(说实话项目做到后边实在有些无聊,都是些琐碎的东西而且自己也学不到什么,纯粹是 浪费 消磨时间)无聊逛Unity商店发现了个有意思的东西,说实话一开始我以为只是单纯绘制的2D动画:

    2024年02月12日
    浏览(59)
  • Unity编辑器紫色

    紫色原因是因为编辑器内跑了其他平台的shader兼容性导致的,需要动态的去修改shader,主要用到Unity的api :  Shader.Find(shaderName); 具体的工具代码如下: Shader的添加形式大概有两种: 跟随AssetBundle 打进包里面,可以直接使用       自建材质  

    2024年02月03日
    浏览(52)
  • 修改unity代码编辑器

    将   Unity  自带的 MonoDevelop  替换成微软的 VS  2017 编辑器。 操作步骤 : 第一步:选择Edit选项卡下的Preferences..选项 第二步:选择External Tools 第三步:修改右侧的External Script Editor,选择VS2017  有的小伙伴可能下拉框中没有VS2017选项,没关系,点击Brower..,找到VS2017的应用程序

    2024年02月11日
    浏览(45)
  • Unity 编辑器常用方法

    自动根据RuntimeInitializeLoadType选择一个时机执行。静态方法 AfterSceneLoad 在场景加载之后初始化子系统。这意味着子系统将在场景加载完成后进行初始化,并在场景加载后的脚本执行时可用。 BeforeSceneLoad 在场景加载之前初始化子系统。这意味着子系统将在场景加载之前进行初始

    2024年02月07日
    浏览(50)
  • Unity编辑器扩展(外挂)

    每日一句:未来的样子藏在现在的努力里 目录 什么是编译器开发 C#特性[System.Serializable] 特殊目录 命名空间 /*检视器属性控制*/     //添加变量悬浮提示文字     //给数值设定范围(最小0,最大150) //指定输入框,拥有5行 //默认显示5行,最多显示10行内容,再多用滚动条控

    2024年01月24日
    浏览(83)
  • 【Unity UIToolkit】UIBuilder基础教程-制作简易的对话系统编辑器 3步教你玩转Unity编辑器扩展工具

    随着Unity开发的深入,基本的Unity编辑器界面并不能满足大部分玩家高阶开发的要求。为了提高开发的效率,有针对性的定制化扩展编辑器界面是提高开发效率的不错选择。 今天就给大家带来Unity官方提高的编辑器扩展工具UIToolkit(集成了UIBuilder和UI Debugger等插件)的使用教程。

    2024年02月04日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包