Unity之EditorGUILayout-枚举

你说的曾经没有我的故事 提交于 2019-12-03 16:04:09

枚举类型和 系统自带的 静态Mask枚举

枚举可以自己定义,EnumMaskField则是系统定义好的,有如下几类值



options 是枚举

static Flags EnumMaskField

该脚本拖拽到对象上

using UnityEngine;
using System.Collections;
using UnityEditor;

public enum OPTIONS { 
    CUBE = 0,
    SPHERE,
    PLANE,
}

public class Test : MonoBehaviour {
    public OPTIONS options = OPTIONS.PLANE;
    public float number;
    public StaticEditorFlags staticFlagMask = 0;
}



InspectorTest脚本放在Editor文件夹下


using UnityEngine;
using System.Collections;
using UnityEditor;


[CustomEditor(typeof(Test))]
public class InspectorTest : Editor {

    public override void OnInspectorGUI()
    {
        Test myTest = (Test)target;
        myTest.options = (OPTIONS)EditorGUILayout.EnumPopup("options", myTest.options);
        myTest.number = EditorGUILayout.FloatField("number", myTest.number);
        myTest.staticFlagMask = (StaticEditorFlags)EditorGUILayout.EnumMaskField("static Flags", myTest.staticFlagMask);     
    }
}





易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!