using OfficeOpenXml; using Pilz; using Pilz.Configuration; using Pilz.Plugins.Advanced; namespace ModpackUpdater.Apps.Manager; public static class Program { private static readonly SettingsManager settingsManager; public static ISettings Settings => settingsManager.Instance; static Program() { ExcelPackage.License.SetNonCommercialPersonal("Pilzinsel64"); settingsManager = new(GetSettingsPath(), true); } /// /// The main entry point for the application. /// [STAThread] internal static void Main() { // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); AppGlobals.Initialize(); PluginFeatureController.Instance.RegisterAllOwn(); Application.Run(new Ui.MainForm()); } private static string GetSettingsPath() { const string AppDataDirectoryName = "MinecraftModpackUpdateManager"; var SettingsFileName = $"Settings.json"; var settingsPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), AppDataDirectoryName); Directory.CreateDirectory(settingsPath); settingsPath = Path.Combine(settingsPath, SettingsFileName); return settingsPath; } }