示例#1
0
        public override void OnInspectorGUI()
        {
            EditorGUI.BeginChangeCheck();

            if (_boolCheck.AnyIsTrue(_typeObjectiveProperty.boolValue, _typePlaceholderProperty.boolValue))
            {
                if (_clearProperty.boolValue = GUILayout.Button("Clear"))
                {
                    Clear();
                }
                return;
            }

            if (_typePlaceholderProperty.boolValue = EditorGUILayout.Toggle("Set As Placeholder", _typePlaceholderProperty.boolValue))
            {
                SetType(typeof(TypePlaceHolder));
            }

            if (_typeObjectiveProperty.boolValue = EditorGUILayout.Toggle("Set As Objective", _typeObjectiveProperty.boolValue))
            {
                SetType(typeof(TypeObjective));
            }

            void Clear()
            {
                _clearProperty.boolValue           = false;
                _typePlaceholderProperty.boolValue = false;
                _typeObjectiveProperty.boolValue   = false;

                serializedObject.ApplyModifiedProperties();

                DestroyComponent();
            }

            if (EditorGUI.EndChangeCheck())
            {
                serializedObject.ApplyModifiedProperties();
            }
        }