Example #1
0
 public void CopyTo(CombatSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
        /// <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 ItemRules.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);
                    }
                });
                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
                    {
                        Trinity.TestScoring();
                        //UILoader.CloseWindow();
                    }
                    catch (Exception ex)
                    {
                        Logger.Log(LogCategory.UserInformation, "{0}", ex);
                    }
                });
                OrderStashCommand = new RelayCommand(
                    (parameter) =>
                {
                    try
                    {
                        //TownRun.SortStash();
                        UILoader.CloseWindow();
                    }
                    catch (Exception ex)
                    {
                        Logger.Log(LogCategory.UserInformation, "{0}", ex);
                    }
                });
                HelpLinkCommand = new RelayCommand(
                    (parameter) =>
                {
                    string 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) =>
                {
                    PlayerInfoCache.DumpPlayerSkills();

                    UILoader.CloseWindow();
                });
            }
            catch (Exception ex)
            {
                Logger.LogError("Error creating Trinity View Model {0}", ex);
            }
        }
        /// <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 ItemRules.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.Reset();
                });
            }
            catch (Exception ex)
            {
                Logger.LogError("Exception initializing commands {0}", ex);
            }
        }
Example #4
0
 public void CopyTo(ItemSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
 public void CopyTo(CrusaderSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
Example #6
0
 public void CopyTo(MonkSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
Example #7
0
 public void CopyTo(ItemListSettings setting)
 {
     TrinitySetting.CopyTo(this, setting);
     setting.SelectedItems = SelectedItems;
 }
 public void CopyTo(WizardSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
Example #9
0
 public void CopyTo(PickupSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
 public void CopyTo(AvoidanceRadiusSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
 public void CopyTo(TownRunSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
Example #12
0
 public void CopyTo(DemonHunterSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
Example #13
0
 public void CopyTo(BarbarianSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
Example #14
0
 public void CopyTo(WitchDoctorSetting setting)
 {
     TrinitySetting.CopyTo(this, setting);
 }
Example #15
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);
            }
        }
Example #16
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ConfigViewModel" /> class.
 /// </summary>
 /// <param name="model">The model.</param>
 public ConfigViewModel(TrinitySetting model)
 {
     _OriginalModel = model;
     _Model         = new TrinitySetting();
     _OriginalModel.CopyTo(_Model);
     InitializeResetCommand();
     SaveCommand = new RelayCommand(
         (parameter) =>
     {
         _Model.CopyTo(_OriginalModel);
         _OriginalModel.Save();
         GilesTrinity.SetBotTPS();
         GilesTrinity.SetUnstuckProvider();
         GilesTrinity.SetItemManagerProvider();
         UILoader.CloseWindow();
     });
     TestScoreCommand = new RelayCommand(
         (parameter) =>
     {
         try
         {
             GilesTrinity.TestScoring();
             UILoader.CloseWindow();
         }
         catch (Exception ex)
         {
             DbHelper.Log(LogCategory.UserInformation, "{0}", ex);
         }
     });
     OrderStashCommand = new RelayCommand(
         (parameter) =>
     {
         try
         {
             global::GilesTrinity.TownRun.SortStash();
             UILoader.CloseWindow();
         }
         catch (Exception ex)
         {
             DbHelper.Log(LogCategory.UserInformation, "{0}", ex);
         }
     });
     HelpLinkCommand = new RelayCommand(
         (parameter) =>
     {
         string 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) =>
     {
         LoadItemRulesPath();
     });
 }