网站建设部署与发布答案,网站机房建设成本,微信网站建设企业,泉州做网站汇总一些Unity Editor开发的常用方法和实现方式#xff0c;会持续更新。 添加自定义菜单栏方法
using UnityEngine;
using UnityEditor;public class EditorTools : EditorWindow
{[MenuItem(EditorTools/自定义的编辑器方法)]public static void CustomEditroFu… 汇总一些Unity Editor开发的常用方法和实现方式会持续更新。 添加自定义菜单栏方法
using UnityEngine;
using UnityEditor;public class EditorTools : EditorWindow
{[MenuItem(EditorTools/自定义的编辑器方法)]public static void CustomEditroFunction(){Debug.Log(Here is your code...);}
} 如图一添加自定义的菜单栏需要使用UnityEditor的命名空间我们自定义的EditorTools类需要继承EditorWindow类。然后就是定义菜单栏点击后所执行的具体函数CustomEditroFunction这里需要注意的是函数需要是静态函数需要增加static关键字。MenuItem方法则是定义菜单栏的路径菜单栏路径可以采用中文。图二则是自定义菜单栏的效果。
EditorWindow类文档连接https://docs.unity3d.com/cn/2022.2/ScriptReference/EditorWindow.html 添加Inspector中脚本自定义方法
using UnityEngine;
using UnityEngine.UI;
using UnityEditor;[CustomEditor(typeof(Text), true)]
public class TextEditor : Editor
{public override void OnInspectorGUI(){DrawDefaultInspector();CustomTextFunction();}private void CustomTextFunction(){if (GUILayout.Button(清空内容)){Text text (Text)target;text.text string.Empty;}}
} 这里我们为Unity原有的Text脚本增加功能按钮添加自定义功能。
如图一首先还是需要使用UnityEditor命名空间自定义类TextEditor继承自Editor。通过覆写OnInspectorGUI方法实现Inspector中脚本的绘制DrawDefaultInspector为绘制默认视图。接下来CustomTextFunction则是我们自定义的部分通过GUILayout.Button(清空内容)方法绘制自定义按钮if语句中则是点击按钮后的自定义功能这里示例的则是清除了Text内容。实际效果如图二。
在示例代码中需要注意的是[CustomEditor(typeof(Text), true)]指定了Inspector自定义脚本的类型会为指定的自定义脚本添加功能。基类Editor包含成员target通过target可以获取指定的脚本对象。
Editor类文档连接 https://docs.unity3d.com/cn/2022.2/ScriptReference/Editor.html