예제 #1
0
    public void InstallMenu(IBasicMenu parentMenu)
    {
        AHWorkFolder = $"{CurrentProfile.PluginsDirectory}\\AdicHelper";
        AHPath       = $"{AHWorkFolder}\\AdicHelper.exe";

        if (!File.Exists(AHPath))
        {
            Log.Error($"Can't run {AH}: file \"{AHPath}\" not found.");
            return;
        }

        Storage = ImportStorage.GetPluginStorage(typeof(AdicHelper));

        parentMenu.AppendMenuItem(AH, isEnabled: false);

        EnableParser        = parentMenu.AppendMenuItem("Enable cJASS", true, Storage.GetValue(nameof(EnableParser), true), true);
        EnableParser.Click += (s, e) => Storage.SetValue(nameof(EnableParser), EnableParser.IsChecked);

        EnableOptimizer        = parentMenu.AppendMenuItem("Enable optimizer", true, Storage.GetValue(nameof(EnableOptimizer), true), true);
        EnableOptimizer.Click += (s, e) => Storage.SetValue(nameof(EnableOptimizer), EnableOptimizer.IsChecked);

        DebugMode        = parentMenu.AppendMenuItem("Enable debug", true, Storage.GetValue(nameof(DebugMode), false), true);
        DebugMode.Click += (s, e) => Storage.SetValue(nameof(DebugMode), DebugMode.IsChecked);

        LocalsFlush        = parentMenu.AppendMenuItem("Locals auto flush", true, Storage.GetValue(nameof(LocalsFlush), true), true);
        LocalsFlush.Click += (s, e) => Storage.SetValue(nameof(LocalsFlush), LocalsFlush.IsChecked);

        DefaultCjBj        = parentMenu.AppendMenuItem("Compile for default cj and bj", true, Storage.GetValue(nameof(DefaultCjBj), true), true);
        DefaultCjBj.Click += (s, e) => Storage.SetValue(nameof(DefaultCjBj), DefaultCjBj.IsChecked);

        CompatMode        = parentMenu.AppendMenuItem("Modules compatibility mode", true, Storage.GetValue(nameof(CompatMode), true), true);
        CompatMode.Click += (s, e) => Storage.SetValue(nameof(CompatMode), CompatMode.IsChecked);

        NullBoolexpr        = parentMenu.AppendMenuItem("Use 'null' as default boolexpr", true, Storage.GetValue(nameof(NullBoolexpr), true), true);
        NullBoolexpr.Click += (s, e) => Storage.SetValue(nameof(NullBoolexpr), NullBoolexpr.IsChecked);

        parentMenu.AppendMenuItem("About AdicHelper...", false, false, true).Click += (s, e) => Process.Start(AHPath);

        Hooks.MapSaved += Hooks_MapSaved;

        Inited = true;
    }
예제 #2
0
 private int GetOptionSelectionFromMenu(IBasicMenu c, string zerothOption)
 {
     var options = c.MyItems();
     var offSet = 0;
     SelectFromBelow();
     for (var i = 1; i <= options.Length; i++)
     {
         offSet = i - 1;
         String.Format("{0}.) {1}", i, options[offSet]).P();
     }
     zerothOption.P();
     offSet = Ju.GetInt32InRange(0, options.Length);
     return offSet;
 }