public void OnGUI()
        {
            _scroll = BeginScrollView(_scroll);

            switch (_inspectionObject)
            {
            case InputGroup group:
                group.groupName = NameField(group.groupName);

                if (DeleteButton())
                {
                    OnDeleteGroup.Invoke(group);
                }

                break;

            case InspectorInputAction action:
                action.action.actionName = NameField(action.action.actionName);

                DisplayKeys(action.action);
                Space();

                if (DeleteButton())
                {
                    OnDeleteAction.Invoke(action);
                }
                break;

            case InspectorInputAxis axis:
                axis.axis.axisName = NameField(axis.axis.axisName);

                EditorChangeChecker.BeginChangeCheck(InputMapWindow.SetMapDirty);
                axis.axis.positiveAction = TextField("Positive", axis.axis.positiveAction);
                axis.axis.negativeAction = TextField("Negative", axis.axis.negativeAction);
                EditorChangeChecker.EndChangeCheckAndCleanup();

                if (DeleteButton())
                {
                    OnDeleteAxis.Invoke(axis);
                }
                break;

            case InputAction _:
                HelpBox(new GUIContent($"Use '{nameof(InspectorInputAction)}' instead of '{nameof(InputAction)}'!"));
                break;

            case InputAxis _:
                HelpBox(new GUIContent($"Use '{nameof(InspectorInputAxis)}' instead of '{nameof(InputAxis)}'!"));
                break;
            }

            EndScrollView();

            if (OnNextRepaint != null && Event.current.type == EventType.Repaint)
            {
                OnNextRepaint?.Invoke();
                OnNextRepaint = null;
                InputMapWindow.GetEditorWindow().Repaint();
            }
        }
예제 #2
0
 public void RaiseOnDeleteAction() => OnDeleteAction?.Invoke(this, new EventArgs());