aboutsummaryrefslogtreecommitdiff
path: root/Assets/Scripts/Editor/OneWayDoorBehaviourEditor.cs
blob: 819deffb7c4b0eced580dac8d25a7804551b806f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#if UNITY_EDITOR
using System.Globalization;
using UnityEditor;
using UnityEngine;

namespace Editor
{
    [CustomEditor(typeof(OneWayDoorBehaviour))]
    public class OneWayDoorBehaviourEditor : UnityEditor.Editor
    {
        /*
         * Editor page created by Mountools
         * Author : WangSoul Team
         * Date : 2026 / 06 / 01 - 15:06:38
         */
    
        public OneWayDoorBehaviour oneWayDoorBehaviour;

        private void OnEnable()
        {
            oneWayDoorBehaviour = (OneWayDoorBehaviour) target;
        }

        private void DrawOneWayDoorBehaviourEditor()
        {
            EditorGUI.BeginDisabledGroup(true);
            {
                EditorGUILayout.LabelField("单项门角度", oneWayDoorBehaviour.Angle.ToString(CultureInfo.InvariantCulture));
                EditorGUILayout.LabelField("单项门开合百分比", oneWayDoorBehaviour.AnglePercent.ToString(CultureInfo.InvariantCulture));
                EditorGUILayout.Toggle("单项门是否打开", oneWayDoorBehaviour.IsOpened);
            }
            EditorGUI.EndDisabledGroup();
        }
        
        #region _
        
        public override void OnInspectorGUI()
        {
            Undo.RecordObject(oneWayDoorBehaviour, "Edit OneWayDoorBehaviour");
            EditorGUI.BeginChangeCheck();
            
            DrawDefaultInspector();
            DrawOneWayDoorBehaviourEditor();

            if (EditorGUI.EndChangeCheck())
            {
                EditorUtility.SetDirty(oneWayDoorBehaviour);
                Undo.FlushUndoRecordObjects();
                serializedObject.ApplyModifiedProperties();
            }
        }
        
        private bool Property(string label, string propertyName, params GUILayoutOption[] options)
        {
            return EditorGUILayout.PropertyField(serializedObject.FindProperty(propertyName), new GUIContent(label), options);
        }
        
        #endregion
    }
}
#endif