UnityEditor.EditorGUILayout.LayerField C# (CSharp) Method

LayerField() public static method

Make a layer selection field.

public static LayerField ( GUIContent label, int layer ) : int
label UnityEngine.GUIContent Optional label in front of the field.
layer int The layer shown in the field.
return int
        public static int LayerField(GUIContent label, int layer, params GUILayoutOption[] options)
        {
            return LayerField(label, layer, EditorStyles.popup, options);
        }

Same methods

EditorGUILayout::LayerField ( GUIContent label, int layer, GUIStyle style ) : int
EditorGUILayout::LayerField ( int layer ) : int
EditorGUILayout::LayerField ( int layer, GUIStyle style ) : int
EditorGUILayout::LayerField ( string label, int layer ) : int
EditorGUILayout::LayerField ( string label, int layer, GUIStyle style ) : int

Usage Example

        public static void DefaultLayoutField(this SerializedProperty p, GUIContent label = null, bool includeChildren = false, GUIStyle style = null, params GUILayoutOption[] options)
        {
            if (label == null)
            {
                label = new GUIContent(p.name, p.tooltip);
            }
            bool s = style != null;

            switch (p.propertyType)
            {
            case SerializedPropertyType.Integer:
                if (s)
                {
                    EditorGUILayout.IntField(label, p.intValue, style, options);
                }
                else
                {
                    EditorGUILayout.IntField(label, p.intValue, options);
                }
                break;

            case SerializedPropertyType.Boolean:
                if (s)
                {
                    EditorGUILayout.Toggle(label, p.boolValue, style, options);
                }
                else
                {
                    EditorGUILayout.Toggle(label, p.boolValue, options);
                }
                break;

            case SerializedPropertyType.Float:
                if (s)
                {
                    EditorGUILayout.FloatField(label, p.floatValue, style, options);
                }
                else
                {
                    EditorGUILayout.FloatField(label, p.floatValue, options);
                }
                break;

            case SerializedPropertyType.String:
                if (s)
                {
                    EditorGUILayout.TextField(label, p.stringValue, style, options);
                }
                else
                {
                    EditorGUILayout.TextField(label, p.stringValue, options);
                }
                break;

            case SerializedPropertyType.Color:
                EditorGUILayout.ColorField(label, p.colorValue, options);
                break;

            case SerializedPropertyType.ObjectReference:
                EditorGUILayout.ObjectField(p, label, options);
                break;

            case SerializedPropertyType.LayerMask:
                if (s)
                {
                    EditorGUILayout.LayerField(label, p.intValue, style, options);
                }
                else
                {
                    EditorGUILayout.LayerField(label, p.intValue, options);
                }
                break;

            case SerializedPropertyType.Enum:
                if (s)
                {
                    EditorGUILayout.IntField(label, p.intValue, style, options);
                }
                else
                {
                    EditorGUILayout.IntField(label, p.intValue, options);
                }
                break;

            case SerializedPropertyType.Vector2:
                EditorGUILayout.Vector2Field(label, p.vector2Value, options);
                break;

            case SerializedPropertyType.Vector3:
                EditorGUILayout.Vector3Field(label, p.vector3Value, options);
                break;

            case SerializedPropertyType.Vector4:
                EditorGUILayout.Vector4Field(label, p.vector4Value, options);
                break;

            case SerializedPropertyType.Rect:
                EditorGUILayout.RectField(label, p.rectValue, options);
                break;

            case SerializedPropertyType.ArraySize:
                if (s)
                {
                    EditorGUILayout.IntField(label, p.intValue, style, options);
                }
                else
                {
                    EditorGUILayout.IntField(label, p.intValue, options);
                }
                break;

            case SerializedPropertyType.Character:
                if (s)
                {
                    EditorGUILayout.IntField(label, p.intValue, style, options);
                }
                else
                {
                    EditorGUILayout.IntField(label, p.intValue, options);
                }
                break;

            case SerializedPropertyType.AnimationCurve:
                if (s)
                {
                    EditorGUILayout.LabelField(label, style, options);
                }
                else
                {
                    EditorGUILayout.LabelField(label, options);
                }
                break;

            case SerializedPropertyType.Bounds:
                EditorGUILayout.BoundsField(label, p.boundsValue, options);
                break;

            case SerializedPropertyType.Gradient:
                if (s)
                {
                    EditorGUILayout.LabelField(label, style, options);
                }
                else
                {
                    EditorGUILayout.LabelField(label, options);
                }
                break;

            case SerializedPropertyType.Quaternion:
                EditorGUILayout.Vector4Field(label, p.vector4Value, options);
                break;

            case SerializedPropertyType.ExposedReference:
                EditorGUILayout.ObjectField(p, label, options);
                break;

            case SerializedPropertyType.FixedBufferSize:
                if (s)
                {
                    EditorGUILayout.IntField(label, p.intValue, style, options);
                }
                else
                {
                    EditorGUILayout.IntField(label, p.intValue, options);
                }
                break;

            case SerializedPropertyType.Vector2Int:
                EditorGUILayout.Vector2IntField(label, p.vector2IntValue, options);
                break;

            case SerializedPropertyType.Vector3Int:
                EditorGUILayout.Vector3IntField(label, p.vector3IntValue, options);
                break;

            case SerializedPropertyType.RectInt:
                EditorGUILayout.RectIntField(label, p.rectIntValue, options);
                break;

            case SerializedPropertyType.BoundsInt:
                EditorGUILayout.BoundsIntField(label, p.boundsIntValue, options);
                break;

            case SerializedPropertyType.Generic:
                if (s)
                {
                    EditorGUILayout.LabelField(label, new GUIContent(p.type), style, options);
                }
                else
                {
                    EditorGUILayout.LabelField(label, new GUIContent(p.type), options);
                }
                break;

            default:
                EditorGUILayout.PropertyField(p, label, includeChildren, options);
                break;
            }
        }