Пример #1
0
        public ModConfigForm(ConfiguratorBasic configurator)
        {
            InitializeComponent();
            thisConfigForm = this;
            OpenMod(MainForm.modName, configurator);


            for (int i = 0; i < actualModConfig.configGUI.Count; i++)
            {
                actualModConfig.configGUI[i].ApplyValue(actualModConfig.configFiles, ModConfigClasses.ApplyType.inGoose);
            }

            for (int i = 0; i < actualModConfig.configGUI.Count; i++)
            {
                Controls.Add((Control)actualModConfig.configGUI[i]);
                actualModConfig.configGUI[i].addControlsToControl(thisConfigForm);
                if (i > 0)
                {
                    actualModConfig.configGUI[i].SetLocation(actualModConfig.configGUI[i - 1].GetNextBoxLocation());
                }
                else
                {
                    actualModConfig.configGUI[i].SetLocation(new Point(23, 33));
                }
            }

            Size = new Size(Size.Width, actualModConfig.configGUI.Last().GetNextBoxLocation().Y + 25 + 23);
        }
Пример #2
0
        private void metroButton2_Click(object sender, EventArgs e)
        {
            if (metroTextBox2.Text == "")
            {
                MsgBox("Mod Configurator Path cannot be empty!", "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (NameTextBox.Text == "")
            {
                MsgBox("Mod Name cannot be empty!", "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            try {
                Assembly configurator = Assembly.LoadFile(metroTextBox2.Text);

                foreach (Type type in configurator.GetTypes())
                {
                    if (type.GetInterface("ConfiguratorBasic") != null)
                    {
                        ConfiguratorBasic configuratorIns = (ConfiguratorBasic)Activator.CreateInstance(type);
                        MainForm.modName       = NameTextBox.Text;
                        MainForm.actualModPath = Path.Combine(MainForm.modPath, NameTextBox.Text);
                        Hide();
                        new ModConfigForm(configuratorIns).ShowDialog();
                        Show();
                    }
                }
            } catch (Exception ex) {
                MsgBox(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #3
0
        public static void OpenMod(string modName, ConfiguratorBasic configurator)
        {
            int modConfigIndex = modsConfigs.FindIndex((p) => { return(p.Key == modName); });

            if (modConfigIndex == -1)
            {
                actualModConfig = new ModConfigData();
                modsConfigs.Add(new KeyValuePair <string, ModConfigData>(modName, actualModConfig));
                configurator.Initialize();
                MakeDefaultFiles(modName);
            }
            else
            {
                actualModConfig = modsConfigs[modConfigIndex].Value;
                actualModConfig.configGUI.Clear();
                for (int i = 0; i < actualModConfig.configFiles.Count; i++)
                {
                    actualModConfig.configFiles[i].Value.Reload();
                }

                configurator.Initialize();
                MakeDefaultFiles(modName);
            }
        }