Esempio n. 1
0
        internal static IOptimizator[] SearchOptimizators(string Filter)
        {
            var Optimizators = new IOptimizator[0];

            foreach (string PluginPath in Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, Filter))
            {
                try {
                    string Content = File.ReadAllText(PluginPath, System.Text.Encoding.UTF8);
                    Content = Content.Replace("IPlugin", "IOptimizator");

                    int IO = Content.Substring(0, Content.IndexOf("class")).IndexOf("using ");
                    if (IO < 0)
                    {
                        IO = 0;
                    }

                    Content = Content.Substring(0, IO) +
                              "using TLBOT.Optimizator;\n" +
                              Content.Substring(IO);
                    try {
                        DotNetVM VM      = new DotNetVM(Content, DotNetVM.Language.CSharp);
                        Type[]   Classes = VM.Assembly.GetTypes().Where(x => typeof(IOptimizator).IsAssignableFrom(x)).ToArray();

                        foreach (Type Class in Classes)
                        {
                            IOptimizator Plugin = (IOptimizator)Activator.CreateInstance(Class);
                            Optimizators = Optimizators.AppendArray(Plugin);
                        }
                    } catch (Exception ex) {
                        MessageBox.Show(ex.ToString(), string.Format("TLBOT 2 - {0} Error", System.IO.Path.GetFileName(PluginPath)), MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                } catch { }
            }
            return(Optimizators);
        }
Esempio n. 2
0
        private void ItemChecked(object sender, ItemCheckEventArgs e)
        {
            IOptimizator Optimizator = AllOptimizators.Where(x => x.GetName() == OptimizatorList.Items[e.Index].ToString()).First();
            bool         Enabled     = e.NewValue == CheckState.Checked;

            if (Optimizator is WordWraper)
            {
                Program.OptimizatorSettings.EnableWordWrap = Enabled;
            }
            else if (Optimizator is CaseFixer)
            {
                Program.OptimizatorSettings.CaseFixer = Enabled;
            }
            else if (Optimizator is Replaces)
            {
                Program.OptimizatorSettings.CustomReplaces = Enabled;
            }
            else if (Optimizator is JapFixer)
            {
                Program.OptimizatorSettings.JapaneseFixer = Enabled;
            }
            else if (Optimizator is DialogueFilter)
            {
                Program.OptimizatorSettings.DialogueFilter = Enabled;
            }
            else if (Optimizator is MassiveFix)
            {
                Program.OptimizatorSettings.MassiveFixer = Enabled;
            }
            else
            {
                foreach (IOptimizator EOptimizator in AllOptimizators)
                {
                    if (EOptimizator.GetName() != Optimizator.GetName())
                    {
                        continue;
                    }

                    string Name = CaseFixer.SetCase(EOptimizator.GetName(), CaseFixer.Case.Title).Trim().Replace(" ", "");
                    Ini.SetConfig("Optimizator", Name, Enabled ? "True" : "False", Program.INIPath);
                }
            }
        }
Esempio n. 3
0
 private bool IsEnabled(IOptimizator Optimizator) => (from x in EnabledOptimizators where x.GetName() == Optimizator.GetName() select x).Count() > 0;