public void OnGUI() { if (currentID == null) { ReInit(); return; } EditorGUI.BeginChangeCheck(); RuntimePlatformTabGUI(); scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); idGUIS[currentID].OnInspectorGUI(); Color ogContentColor = GUI.backgroundColor; GUI.backgroundColor = new Color(0.8f, 0.4f, 0.4f, 1); if (GUILayout.Button("Delete")) { string assetPath = AssetDatabase.GetAssetPath(currentID); if (EditorUtility.DisplayDialog("Delete asset?", assetPath + "\n\n You cannot undo this action.", "Delete", "Cancel")) { inputDefaults.Remove(currentID); Undo.ClearUndo(currentID); DestroyImmediate(currentID); } } GUI.backgroundColor = ogContentColor; EditorGUILayout.EndScrollView(); if (currentID == null || currentID.name == null) { ReInit(); } if (EditorGUI.EndChangeCheck()) { InputBuildingUtility.ExportDefaultInputs(inputDefaults.ToArray(), true); } }
public void OnEnable() { bool loadFromTemp = InputBuildingUtility.IsTempUpToDate(); inputDefaults = (inputDefaults == null || inputDefaults.Count == 0)? InputBuildingUtility.ImportDefaultInputs(loadFromTemp).ToList():inputDefaults.Where(x => x != null).ToList(); //string[] assetGUIDS = AssetDatabase.FindAssets("t: InputControllerDefault"); //for(int i = 0; i < assetGUIDS.Length; i++) //{ // InputControllerDefault item = AssetDatabase.LoadAssetAtPath<InputControllerDefault>(AssetDatabase.GUIDToAssetPath(assetGUIDS[i])); // if (item != null) // { // inputDefaults.Add(item); // } //} idGUIS = new Dictionary <InputControllerDefault, DefaultsEditor>(); for (int i = 0; i < inputDefaults.Count; i++) { idGUIS.Add(inputDefaults[i], new DefaultsEditor(inputDefaults[i])); idGUIS[inputDefaults[i]].OnEnable(); } currentID = inputDefaults.Count > 0? inputDefaults[0]:null; Undo.undoRedoPerformed += OnUndo; UnitySave.OnSaveAssets += SaveSettings; }
public void OnUndo() { InputBuildingUtility.ExportDefaultInputs(inputDefaults.ToArray(), true); Repaint(); }
private void SaveSettings() { InputBuildingUtility.ExportDefaultInputs(inputDefaults.ToArray(), false); }