示例#1
0
        private void InitializeButtons()
        {
            try
            {
                ResetTVarsCommand = new RelayCommand(
                                        (parameter) =>
                                        {
                                            try
                                            {
                                                if (MessageBox.Show(
                                                    "Are you sure you want to reset all Trinity Variables?",
                                                    "Confirm Reset All",
                                                    MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                                                {
                                                    V.ResetAll();
                                                }
                                            }
                                            catch (Exception ex)
                                            {
                                                Logger.Log("Exception Resetting TVars: {0}", ex);
                                            }
                                        });
                SaveTVarsCommand = new RelayCommand(
                                        (parameter) =>
                                        {
                                            try { V.Save(); }
                                            catch (Exception ex)
                                            {
                                                Logger.Log("Exception saving TVars: {0}", ex);
                                            }
                                        });
                DumpTVarsCommand = new RelayCommand(
                                        (parameter) =>
                                        {
                                            try { V.Dump(); }
                                            catch (Exception ex)
                                            {
                                                Logger.Log("Exception Dumping TVars: {0}", ex);
                                            }

                                        });
            }
            catch (Exception ex)
            {
                Logger.LogNormal("Exception in InitializeButtons: {0}", ex.ToString());

            }
        }
示例#2
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="ConfigViewModel" /> class.
        /// </summary>
        /// <param name="model">The model.</param>
        public ConfigViewModel(TrinitySetting model)
        {
            try
            {
                _OriginalModel = model;
                _Model = new TrinitySetting();
                _OriginalModel.CopyTo(_Model);
                InitializeResetCommand();

                SaveCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            if (Trinity.StashRule == null && _Model.Loot.ItemFilterMode == ItemFilterMode.TrinityWithItemRules)
                            {
                                // Load interpreter for the first time if needed
                                Trinity.StashRule = new Interpreter();
                            }

                            _Model.CopyTo(_OriginalModel);
                            _OriginalModel.Save();

                            if (_Model.Advanced.TPSEnabled != _OriginalModel.Advanced.TPSEnabled)
                                BotManager.SetBotTicksPerSecond();

                            if (_Model.Advanced.UnstuckerEnabled != _OriginalModel.Advanced.UnstuckerEnabled)
                                BotManager.SetUnstuckProvider();

                            if (_Model.Loot.ItemFilterMode != _OriginalModel.Loot.ItemFilterMode)
                                BotManager.SetItemManagerProvider();

                            CacheData.FullClear();
                            UsedProfileManager.SetProfileInWindowTitle();

                            UILoader.CloseWindow();
                        }
                        catch (Exception ex)
                        {
                            Logger.Log("Exception in UI SaveCommand {0}", ex);
                        }
                    });
                DumpBackpackCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            Logger.Log(
                                "\n############################################\n"
                                + "\nDumping Backpack Items. This will hang your client. Please wait....\n"
                                + "##########################");
                            UILoader.CloseWindow();
                            TrinityItemManager.DumpItems(TrinityItemManager.DumpItemLocation.Backpack);
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception dumping Backpack: {0}", ex);
                        }
                    });
                DumpQuickItemsCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            Logger.Log(
                                "\n############################################\n"
                                + "\nQuick Dumping Items. This will hang your client. Please wait....\n"
                                + "##########################");
                            UILoader.CloseWindow();
                            TrinityItemManager.DumpQuickItems();
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception Quick Dumping: {0}", ex);
                        }
                    });
                DumpAllItemsCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            Logger.Log(
                                "\n############################################\n"
                                + "\nDumping ALL Items. This will hang your client. Please wait....\n"
                                + "##########################");
                            UILoader.CloseWindow();
                            TrinityItemManager.DumpItems(TrinityItemManager.DumpItemLocation.All);
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception Dumping ALL Items: {0}", ex);
                        }
                    });
                DumpSkillsAndItemsCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            UILoader.CloseWindow();
                            DebugUtil.LogBuildAndItems(TrinityLogLevel.Info);                          
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception Dumping Skill/Rune/Passive Items: {0}", ex);
                        }
                    });
                DumpInvalidItemsCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            UILoader.CloseWindow();
                            DebugUtil.LogInvalidItems(TrinityLogLevel.Info);
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception Dumping Invalid Items: {0}", ex);
                        }
                    });
                DumpItemSNOReference = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            UILoader.CloseWindow();
                            DebugUtil.DumpItemSNOReference();
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception in DumpItemSNOReference: {0}", ex);
                        }
                    });                
                DumpMerchantItemsCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            Logger.Log(
                                "\n############################################\n"
                                + "\nDumping Merchant Items. This will hang your client. Please wait....\n"
                                + "##########################");
                            UILoader.CloseWindow();
                            TrinityItemManager.DumpItems(TrinityItemManager.DumpItemLocation.Merchant);
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception dumping Merchant: {0}", ex);
                        }
                    });
                DumpEquippedCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            Logger.Log(
                                "\n############################################\n"
                                + "\nDumping Equipped Items. This will hang your client. Please wait....\n"
                                + "##########################");
                            UILoader.CloseWindow();
                            TrinityItemManager.DumpItems(TrinityItemManager.DumpItemLocation.Equipped);
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception dumping Equipped: {0}", ex);
                        }
                    });
                DumpGroundItemsCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            Logger.Log(
                                "\n############################################\n"
                                + "\nDumping Ground Items. This will hang your client. Please wait....\n"
                                + "##########################");
                            UILoader.CloseWindow();
                            TrinityItemManager.DumpItems(TrinityItemManager.DumpItemLocation.Ground);
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception dumping Ground: {0}", ex);
                        }
                    });
                DumpStashCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            Logger.Log(
                                "\n############################################\n"
                                + "\nDumping Stash Items. This will hang your client. Please wait....\n"
                                + "##########################");
                            UILoader.CloseWindow();
                            TrinityItemManager.DumpItems(TrinityItemManager.DumpItemLocation.Stash);
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "Exception dumping Stash: {0}", ex);
                        }
                    });
                TestScoreCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            ItemValuation.TestScoring();
                            //UILoader.CloseWindow();
                        }
                        catch (Exception ex)
                        {
                            Logger.Log(LogCategory.UserInformation, "{0}", ex);
                        }
                    });
                HelpLinkCommand = new RelayCommand(
                    parameter =>
                    {
                        var link = parameter as string;
                        if (!string.IsNullOrWhiteSpace(link))
                        {
                            Process.Start(link);
                        }
                    });
                ConfigureLootToHunting = new RelayCommand(
                    parameter => ConfigHuntingLoot());
                ConfigureLootToQuesting = new RelayCommand(
                    parameter => ConfigQuestingLoot());
                LoadItemRuleSetCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            LoadItemRulesPath();
                        }
                        catch (Exception ex)
                        {
                            Logger.Log("Exception in LoadItemRuleSetCommand: {0}", ex);
                        }
                    });
                OpenTVarsCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            V.ValidateLoad();
                            TVarsViewModel.CreateWindow().Show();
                        }
                        catch (Exception ex)
                        {
                            Logger.Log("Exception in OpenTVarsCommand: {0}", ex);
                        }
                    });
                UseGlobalConfigFileCommand = new RelayCommand(
                    parameter =>
                    {
                        DialogResult rusure = MessageBox.Show("This will force all bots running under this Demonbuddy directory to use a shared configuration file.\n"
                                                              + "You can undo this by removing the Trinity.xml file under your Demonbuddy settings directory. \n"
                                                              + "Are you sure?",
                            "Confirm global settings",
                            MessageBoxButtons.OKCancel);

                        if (rusure == DialogResult.OK)
                        {
                            Trinity.Settings.Save(true);
                        }
                    });
                DumpSkillsCommand = new RelayCommand(
                    parameter =>
                    {
                        CacheData.Hotbar.Dump();
                        UILoader.CloseWindow();
                    });
            }
            catch (Exception ex)
            {
                Logger.LogError("Error creating Trinity View Model {0}", ex);
            }
        }
示例#3
0
        /// <summary>
        ///     Initializes the Reset commands.
        /// </summary>
        private void InitializeResetCommand()
        {
            try
            {
                ResetMiscCommand = new RelayCommand(
                    parameter => _Model.Combat.Misc.Reset());
                ResetBarbCommand = new RelayCommand(
                    parameter =>
                    {
                        _Model.Combat.Barbarian.Reset();
                        _Model.Combat.AvoidanceRadius.Reset();
                    });
                ResetCrusaderCommand = new RelayCommand(
                    parameter =>
                    {
                        _Model.Combat.Crusader.Reset();
                        _Model.Combat.AvoidanceRadius.Reset();
                    });
                ResetMonkCommand = new RelayCommand(
                    parameter =>
                    {
                        _Model.Combat.Monk.Reset();
                        _Model.Combat.AvoidanceRadius.Reset();
                    });
                ResetWizardCommand = new RelayCommand(
                    parameter =>
                    {
                        _Model.Combat.Wizard.Reset();
                        _Model.Combat.AvoidanceRadius.Reset();
                    });
                ResetWitchDoctorCommand = new RelayCommand(
                    parameter =>
                    {
                        _Model.Combat.WitchDoctor.Reset();
                        _Model.Combat.AvoidanceRadius.Reset();
                    });
                ResetDemonHunterCommand = new RelayCommand(
                    parameter =>
                    {
                        _Model.Combat.DemonHunter.Reset();
                        _Model.Combat.AvoidanceRadius.Reset();
                    });
                ResetWorldObjectCommand = new RelayCommand(
                    parameter => _Model.WorldObject.Reset());
                ResetItemCommand = new RelayCommand(
                    parameter => _Model.Loot.Pickup.Reset());
                ResetItemRulesCommand = new RelayCommand(
                    parameter => _Model.Loot.ItemRules.Reset());
                ReloadScriptRulesCommand = new RelayCommand(
                    parameter =>
                    {
                        try
                        {
                            _Model.CopyTo(_OriginalModel);
                            _OriginalModel.Save();
                            if (Trinity.StashRule == null)
                                Trinity.StashRule = new Interpreter();

                            if (Trinity.StashRule != null)
                            {
                                BotMain.PauseWhile(Trinity.StashRule.reloadFromUI);
                            }
                        }
                        catch (Exception ex)
                        {
                            Logger.Log("Exception in ReloadScriptRulesCommand: {0}", ex);
                        }
                    }
                    );
                ResetTownRunCommand = new RelayCommand(
                    parameter => _Model.Loot.TownRun.Reset());
                ResetAdvancedCommand = new RelayCommand(
                    parameter => _Model.Advanced.Reset());
                ResetNotificationCommand = new RelayCommand(
                    parameter => _Model.Notification.Reset());

                ResetAllCommand = new RelayCommand(
                    parameter => _Model.UserRequestedReset());
            }
            catch (Exception ex)
            {
                Logger.LogError("Exception initializing commands {0}", ex);
            }
        }
示例#4
0
        public void LoadCommands()
        {
            AddRequiredRuleCommand = new RelayCommand(parameter =>
            {
                try
                {
                    if (parameter == null)
                    {                        
                        Logger.Log("Parameter = null in AddRequiredRuleCommand {0}", parameter.ToString());
                        return;
                    }
                        

                    Logger.Log("AddOptionalRuleCommand {0}", parameter.ToString());

                    var item = parameter as ComboBoxItem;
                    var selectedPropertyName = item != null ? item.Content.ToString() : parameter.ToString();

                    AddRule(selectedPropertyName, RuleType.Required);
                }
                catch (Exception ex)
                {
                    Logger.Log("Exception in AddRequiredRuleCommand: {0} {1}", ex.Message, ex.InnerException);
                }

            });

            AddOptionalRuleCommand = new RelayCommand(parameter =>
            {
                try
                {
                    if (parameter == null)
                    {
                        Logger.Log("Parameter = null in AddRequiredRuleCommand {0}", parameter.ToString());
                        return;
                    }

                    Logger.Log("AddOptionalRuleCommand {0}", parameter.ToString());

                    var item = parameter as ComboBoxItem;
                    var selectedPropertyName = item != null ? item.Content.ToString() : parameter.ToString();

                    AddRule(selectedPropertyName, RuleType.Optional);
                }
                catch (Exception ex)
                {
                    Logger.Log("Exception in AddRequiredRuleCommand: {0} {1}", ex.Message, ex.InnerException);
                }

            });

            RemoveRuleCommand = new RelayCommand(parameter =>
            {
                try
                {
                    var lRule = parameter as LRule;
                    if (lRule == null)
                        return;

                    Logger.Log("RemoveRuleCommand: {0}", lRule.Name);

                    Rules.Remove(lRule);

                    OnPropertyChanged("Rules");
                    OnPropertyChanged( lRule.RuleType + "Rules");
                }
                catch (Exception ex)
                {
                    Logger.Log("Exception in AddRequiredRuleCommand: {0} {1}", ex.Message, ex.InnerException);
                }
            });
        }