private void RenderLoadProfileMenu() { if (ImGui.BeginPopupModal("Load Profile", WindowFlags.AlwaysAutoResize)) { string[] files = Directory.GetFiles(Plugin.ProfileDirectory); if (files == null || files.Length == 0) { ImGui.Text("No profiles in profile directory."); currentlySelectedProfile = -1; } else { ImGui.Combo("Files", ref currentlySelectedProfile, files.Select(x => Path.GetFileName(x)).ToArray()); } if (currentlySelectedProfile >= 0 && ImGui.Button("Load")) { Profile.LoadedProfile loadedProfile = BaseTreeRoutinePlugin <BuildYourOwnRoutineSettings, BaseTreeCache> .LoadSettingFile <Profile.LoadedProfile>(files[currentlySelectedProfile]); if (loadedProfile == null || loadedProfile.Name == null) { StartNewOKMenu("Profile did not load properly"); } else { Plugin.Settings.LoadedProfile = loadedProfile; Plugin.CreateAndStartTreeFromLoadedProfile(); currentlySelectedProfile = -1; ImGui.CloseCurrentPopup(); } } // Render the menu from loading profile RenderOkMenu(); if (ImGui.Button("Cancel")) { currentlySelectedProfile = -1; ImGui.CloseCurrentPopup(); } ImGui.EndPopup(); } }
private void RenderLoadProfileMenu() { bool open = true; if (ImGui.BeginPopupModal("Load Profile", ref open, ImGuiWindowFlags.AlwaysAutoResize)) { string[] files = Directory.GetFiles(Plugin.ProfileDirectory); if (files.Length == 0) { ImGui.Text($"No profiles in profile directory: {Plugin.ProfileDirectory}"); currentlySelectedProfile = -1; LoadSaveTrigger = null; forceOpenLoad = false; } else { ImGui.Combo("Files", ref currentlySelectedProfile, files.Select(x => Path.GetFileName(x)).ToArray(), files.Length); } if (currentlySelectedProfile >= 0 && ImGui.Button("Load")) { Profile.LoadedProfile loadedProfile = Plugin.LoadSettingFile <Profile.LoadedProfile>(files[currentlySelectedProfile]); if (loadedProfile == null || loadedProfile.Name == null) { StartNewOKMenu("Profile did not load profile properly"); } else { if (LoadSaveTrigger != null) { if (loadedProfile.Composite != null) { LoadSaveTrigger.Children.Add((loadedProfile.Composite)); } LoadSaveTrigger = null; forceOpenLoad = false; } else { Plugin.Settings.LoadedProfile = loadedProfile; Plugin.CreateAndStartTreeFromLoadedProfile(); currentlySelectedProfile = -1; LoadSaveTrigger = null; forceOpenLoad = false; } ImGui.CloseCurrentPopup(); } } // Render the menu from loading profile RenderOkMenu(); if (ImGui.Button("Cancel")) { currentlySelectedProfile = -1; LoadSaveTrigger = null; forceOpenLoad = false; ImGui.CloseCurrentPopup(); } ImGui.EndPopup(); } }