Esempio n. 1
0
        private void SaveSettingsButton_Click(object sender, EventArgs e)
        {
            try
            {
                if (ModsFolderTextBox.Text != "" && GameFolderTextBox.Text != "")
                {
                    Config = new ManagerConfig {
                        GameFolder = GameFolderTextBox.Text, ModsFolder = ModsFolderTextBox.Text
                    };
                    JsonReader.WriteToJson(Config, Path.Combine(programPath, "config.json"));
                    //Reiniciar IMOWA e o Loader Installer
                    if (ModDataHandler == null)
                    {
                        ModDataHandler = new ModDataHandler(Config.GameFolder, Config.ModsFolder, Config.ModsFolder);

                        new ModEnableElement(panel1, ModDataHandler.ManifestDoLoader, ModDataHandler.DIMOWALoaderInstaller.IsLoaderInstalled);
                        allEnabledMods = ModDataHandler.ModEnabledList.ModList.ToList();
                        for (int i = 0; i < ModDataHandler.ManifestsDosMods.Length; i++)
                        {
                            var ele = new ModEnableElement(panel1, ModDataHandler.ManifestsDosMods[i], allEnabledMods.IndexOf(ModDataHandler.ManifestsDosMods[i].FileName) > -1);
                            if (i == 0)
                            {
                                ele.ChangeRow(75);
                            }
                            else
                            {
                                ele.ChangeRow(ModEnableElement.ModEnableElements[i].GetRow() + 25);
                            }

                            if (!ModDataHandler.DIMOWALoaderInstaller.IsLoaderInstalled)
                            {
                                ele.LockElement(Color.Gray);
                            }
                        }
                    }
                }
                else if (ModsFolderTextBox.Text != "" && GameFolderTextBox.Text == "")
                {
                    ConsoleWindowHelper.Warning("The Game Folder path is missing");
                    MessageBox.Show("The Game Folder path is missing");
                }
                else if (ModsFolderTextBox.Text == "" && GameFolderTextBox.Text != "")
                {
                    ConsoleWindowHelper.Warning("The Mod Folder path is missing");
                    MessageBox.Show("The Mod Folder path is missing");
                }
                else
                {
                    ConsoleWindowHelper.Warning("Both paths are missing");
                    MessageBox.Show("Both paths are missing");
                }
            }
            catch (Exception ex)
            {
                ConsoleWindowHelper.FatalException("A Fatal Exception occured while saving the settings: " + ex.Message + " check the Console Windows for more information.");
                ConsoleWindowHelper.Exception(string.Format("{0}: {1} {2}\nInner Exception Message: {3}", ex.Source, ex.Message, ex.StackTrace, ex.InnerException));
            }
        }
Esempio n. 2
0
        public Form1()
        {
            programPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            InitializeComponent();
            ConsoleWindowHelper Console = new ConsoleWindowHelper(ConsoleWindow);

            try
            {
                tabControl1.Appearance = TabAppearance.Normal;
                MainMenu();
                SettingsMenu();

                string[] possibleConfig = Directory.GetFiles(Form1.programPath, "*config.json");
                if (possibleConfig.Length <= 0)
                {
                    tabControl1.SelectedTab = tabPage2;
                }
                else
                {
                    try
                    {
                        Config = JsonReader.ReadFromJson <ManagerConfig>(possibleConfig[0]);
                    }
                    catch (Exception ex)
                    {
                        ConsoleWindowHelper.Exception(ex.Message + " - " + ex.StackTrace);
                        throw new IOException("Something went wrong while reading the config.json file, try deleting it and running the program again");
                    }

                    ModsFolderTextBox.Text = Config.ModsFolder;
                    GameFolderTextBox.Text = Config.GameFolder;

                    ModDataHandler = new ModDataHandler(Config.GameFolder, Config.ModsFolder, Config.ModsFolder);
                    new ModEnableElement(panel1, ModDataHandler.ManifestDoLoader, ModDataHandler.DIMOWALoaderInstaller.IsLoaderInstalled);

                    allEnabledMods = ModDataHandler.ModEnabledList.ModList.ToList();
                    for (int i = 0; i < ModDataHandler.ManifestsDosMods.Length; i++)
                    {
                        var e = new ModEnableElement(panel1, ModDataHandler.ManifestsDosMods[i], allEnabledMods.IndexOf(ModDataHandler.ManifestsDosMods[i].FileName) > -1);
                        if (i == 0)
                        {
                            e.ChangeRow(75);
                        }
                        else
                        {
                            e.ChangeRow(ModEnableElement.ModEnableElements[i].GetRow() + 25);
                        }

                        if (!ModDataHandler.DIMOWALoaderInstaller.IsLoaderInstalled)
                        {
                            e.LockElement(Color.Gray);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ConsoleWindowHelper.FatalException("A Fatal Exception occured while starting the program: " + ex.Message + " check the Console Windows for more information.");
                ConsoleWindowHelper.Exception(string.Format("{0}: {1} {2}\nInner Exception Message: {3}", ex.Source, ex.Message, ex.StackTrace, ex.InnerException));
            }
        }