private void OnGUI() { EditorGUILayout.LabelField("Hollow Knight Directory"); EditorGUILayout.BeginHorizontal(); hkDirTemp = EditorGUILayout.TextField(hkDirTemp); if (GUILayout.Button("...", GUILayout.MaxWidth(30))) { string exeLocation = EditorUtility.OpenFilePanel("Find where hollow_knight.exe is located", Environment.CurrentDirectory, "exe"); if (exeLocation != null && exeLocation != "") { var fileInfo = new FileInfo(exeLocation); hkDirTemp = fileInfo.Directory.FullName; } } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Close")) { Close(); } if (GUILayout.Button("Apply")) { Close(); GameBuildSettings.Settings.HollowKnightLocation = hkDirTemp; GameBuildSettings.SaveSettings(); } EditorGUILayout.EndHorizontal(); }
static void SaveSettings(GameBuildSettings settings) { using (var writer = GetWriter()) { writer.WriteLine("[Hollow Knight Location]"); writer.WriteLine(settings.HollowKnightLocation); writer.WriteLine(""); writer.WriteLine("[Unity Editor Location]"); writer.WriteLine(settings.UnityEditorLocation); } }
static GameBuildSettings LoadSettings() { using (var reader = GetReader()) { var settings = new GameBuildSettings(); reader.ReadLine(); settings.HollowKnightLocation = reader.ReadLine(); reader.ReadLine(); reader.ReadLine(); settings.UnityEditorLocation = reader.ReadLine(); return(settings); } }
static void Verify(GameBuildSettings settings) { var hkDirectory = new DirectoryInfo(settings.HollowKnightLocation); var ueDirectory = new DirectoryInfo(settings.UnityEditorLocation); if (!hkDirectory.Exists || !Directory.Exists(hkDirectory.FullName + "\\hollow_knight_Data")) { Debug.LogError("The Hollow Knight directory is not configured correctly. Be sure to configure this in WeaverCore/Settings/General Settings"); } var currentUEDirectory = new FileInfo(typeof(EditorWindow).Assembly.Location).Directory; if (ueDirectory.FullName != currentUEDirectory.FullName) { settings.UnityEditorLocation = currentUEDirectory.FullName; SaveSettings(settings); } }