public static void OpenWindow(TPCEngine.InputManager target) { if (!IsOpen) { var window = EditorWindow.GetWindow <AdvancedInputEditor>("Input Editor"); window._inputManager = target; } }
public static void LoadSnapshot(TPCEngine.InputManager inputManager) { if (!CanLoadSnapshot()) { return; } InputLoaderXML inputLoader = new InputLoaderXML(_snapshotFile); inputManager.Load(inputLoader.Load()); }
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(); }
public static void CreateSnapshot(TPCEngine.InputManager inputManager) { if (_snapshotFile == null) { _snapshotFile = Path.Combine(Application.temporaryCachePath, "input_config.xml"); } InputSaverXML inputSaver = new InputSaverXML(_snapshotFile); inputSaver.Save(inputManager.GetSaveParameters()); }