public static void QuickSave(string path, SaveFileFunction save, ResetFileFunction reset) { if (path != "") { if (save(path)) { Debug.Log("Object successfully saved at " + path); reset(); } else { Debug.Log("Object failed to save."); } } }
// Returns [ destination folder , open file directory, saved object path ] public static string[] DrawSaveLoadUtility(string fileName, string[] previous, SaveFileFunction save, LoadFileFunction load, ResetFileFunction reset) { GUILayout.Label("Destination Path: " + previous[0]); GUILayout.BeginHorizontal(); if (GUILayout.Button("Set Destination Folder")) { previous[0] = EditorUtility.OpenFolderPanel("Open Folder", "", "asset"); } if (GUILayout.Button("Quick Save")) { if (previous[0] != "") { string p = previous[0] + "/" + fileName + ".asset"; if (save(p)) { reset(); } } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Open File")) { previous[1] = EditorUtility.OpenFilePanel("Open File", "", "asset"); load(previous[1]); } if (GUILayout.Button("Save File")) { previous[2] = EditorUtility.SaveFilePanel("Save File", previous[0], "", "asset"); save(previous[2]); } GUILayout.EndHorizontal(); string[] s = new string[3] { previous[0], previous[1], previous[2] }; return(s); }