|
1 | 1 | namespace VRTK
|
2 | 2 | {
|
3 |
| - using UnityEngine; |
4 | 3 | using UnityEditor;
|
| 4 | + using System; |
5 | 5 |
|
6 | 6 | [CustomEditor(typeof(VRTK_PolicyList))]
|
7 | 7 | public class VRTK_PolicyListEditor : Editor
|
8 | 8 | {
|
9 | 9 | SerializedProperty staticFlagMask;
|
10 | 10 | SerializedProperty identifiers;
|
11 | 11 |
|
12 |
| - private void OnEnable() |
13 |
| - { |
14 |
| - staticFlagMask = serializedObject.FindProperty("checkType"); |
15 |
| - identifiers = serializedObject.FindProperty("identifiers"); |
16 |
| - } |
17 |
| - |
18 | 12 | public override void OnInspectorGUI()
|
19 | 13 | {
|
20 | 14 | serializedObject.Update();
|
21 |
| - |
22 | 15 | EditorGUILayout.PropertyField(serializedObject.FindProperty("operation"));
|
23 |
| - staticFlagMask.intValue = (int)((VRTK_PolicyList.CheckTypes)EditorGUILayout.EnumMaskField("Check Types", (VRTK_PolicyList.CheckTypes)staticFlagMask.intValue)); |
| 16 | + staticFlagMask.intValue = (int)((VRTK_PolicyList.CheckTypes)EnumField("Check Types", (VRTK_PolicyList.CheckTypes)staticFlagMask.intValue)); |
24 | 17 | ArrayGUI(identifiers);
|
25 | 18 |
|
26 | 19 | serializedObject.ApplyModifiedProperties();
|
27 | 20 | }
|
28 | 21 |
|
29 |
| - void ArrayGUI(SerializedProperty property) |
| 22 | + private void OnEnable() |
| 23 | + { |
| 24 | + staticFlagMask = serializedObject.FindProperty("checkType"); |
| 25 | + identifiers = serializedObject.FindProperty("identifiers"); |
| 26 | + } |
| 27 | + |
| 28 | + private Enum EnumField(string label, Enum enumValue) |
| 29 | + { |
| 30 | +#if UNITY_2017_3_OR_NEWER |
| 31 | + return EditorGUILayout.EnumFlagsField(label, enumValue); |
| 32 | +#else |
| 33 | + return EditorGUILayout.EnumMaskField(label, enumValue); |
| 34 | +#endif |
| 35 | + } |
| 36 | + |
| 37 | + private void ArrayGUI(SerializedProperty property) |
30 | 38 | {
|
31 | 39 | SerializedProperty arraySizeProp = property.FindPropertyRelative("Array.size");
|
32 | 40 | EditorGUILayout.PropertyField(arraySizeProp);
|
|
0 commit comments