本文分享Unity中的CustomEditor(自定义编辑器)
Unity对继承了MonoBehavior脚本的类(当然还有其它类)提供了属性面板的展示和修改.
默认情况下会显示类的公开字段(public field), 当然这些字段也会被序列化并存储在挂载的预制上.
有些情况下我们需要自定义展示和修改逻辑, 这时我们需要用到CustomEditor.
本文将对CustomEditor做一些基本的介绍, 主要围绕类的可序列化字段展开.
CustomEditor的基本知识
下面我们先给出一个相对完整的代码, 然后一一解释其含义.
// Assets/xxxx/MonoTestEditor.cs
public class MonoTest : MonoBehaviour
{
public enum EnumValue
{
EnumValue1,
EnumValue2,
EnumValue3,
}
public int intValue;
public bool boolValue;
public EnumValue enumValue;
}
// Assets/xxxx/Editor/MonoTestEditor.cs
[CustomEditor(typeof(MonoTest), true)]
public class MonoTestEditor : Editor
{
private MonoTest m_Target;
private SerializedProperty m_IntValue;
private SerializedProperty m_BoolValue;
private SerializedProper

本文介绍了如何在Unity中使用CustomEditor为MonoBehavior类创建自定义编辑器,包括如何定义字段外观、检测字段变化及禁修改。通过示例代码展示了如何使用IntSlider、Toggle和EnumPopup等控件,并提供了字段变化时的操作示例。

1937

被折叠的 条评论
为什么被折叠?



