public override void OnInspectorGUI()
        {
            TPCEngine.InputManager inputManager = target as TPCEngine.InputManager;

            serializedObject.Update();
            GUILayout.Space(5.0f);

            GUILayout.BeginHorizontal();
            GUI.enabled = !AdvancedInputEditor.IsOpen;
            if (GUILayout.Button("Input\nEditor", GUILayout.Height(40.0f)))
            {
                AdvancedInputEditor.OpenWindow(inputManager);
            }
            GUI.enabled = true;
            if (GUILayout.Button(_createSnapshotIngo, GUILayout.Height(40.0f)))
            {
                EditorToolbox.CreateSnapshot(inputManager);
            }
            GUI.enabled = EditorToolbox.CanLoadSnapshot();
            if (GUILayout.Button("Restore\nSnapshot", GUILayout.Height(40.0f)))
            {
                EditorToolbox.LoadSnapshot(inputManager);
            }
            GUI.enabled = true;
            GUILayout.EndHorizontal();

            GUILayout.Space(5.0f);
            EditorGUILayout.PropertyField(_playerOneDefault);
            EditorGUILayout.PropertyField(_playerTwoDefault);
            EditorGUILayout.PropertyField(_playerThreeDefault);
            EditorGUILayout.PropertyField(_playerFourDefault);
            EditorGUILayout.PropertyField(_dontDestroyOnLoad);
            EditorGUILayout.PropertyField(_ignoreTimescale);
            EditorGUILayout.PropertyField(_intputConfigurations);
            if (_intputConfigurations.isExpanded)
            {
                EditorGUI.indentLevel++;
                int arraySize = EditorGUILayout.DelayedIntField("Size", _intputConfigurations.arraySize);
                if (arraySize != _intputConfigurations.arraySize)
                {
                    _intputConfigurations.arraySize = arraySize;
                }

                for (int i = 0; i < _intputConfigurations.arraySize; i++)
                {
                    DisplayInputConfigurations(_intputConfigurations.GetArrayElementAtIndex(i));
                }

                EditorGUI.indentLevel--;
            }

            GUILayout.Space(5.0f);
            serializedObject.ApplyModifiedProperties();
        }
Beispiel #2
0
        public static void OpenImportJoystickMappingWindow(AdvancedInputEditor configurator)
        {
            Type type = GetMappingImporterWindowType();

            if (type == null)
            {
                return;
            }

            MethodInfo methodInfo = type.GetMethod("Open", BindingFlags.Static | BindingFlags.Public);

            if (methodInfo == null)
            {
                Debug.LogError("Unable to open joystick mapping import window");
            }

            methodInfo.Invoke(null, new object[] { configurator });
        }