Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Multi-Select enum property on Unity Inspector
- **EnumFlagsAttribute.cs**
- ```cs
- using UnityEngine;
- using System.Collections;
- public class EnumFlagsAttribute : PropertyAttribute {
- public EnumFlagsAttribute() {}
- }
- ```
- **EnumFlagsAttributeDrawer.cs**
- ```cs
- using System;
- using System.Collections;
- using UnityEngine;
- using UnityEditor;
- [CustomPropertyDrawer(typeof(EnumFlagsAttribute))]
- public class EnumFlagsAttributeDrawer : PropertyDrawer {
- public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {
- property.intValue = EditorGUI.MaskField(position, label, property.intValue, property.enumNames);
- }
- }
- ```
- **SampleEnumInspector.cs**
- ```cs
- using System;
- using UnityEngine;
- public class SampleEnumInspector : Monobehaviour {
- [EnumFlagsAttribute] public SampleEnum sampleEnum;
- public enum SampleEnum {
- enumValue_1,
- enumValue_2,
- enumValue_3,
- enumValue_4
- }
- }
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement