Exemple #1
0
        public ConfigViewModel(TrinityStorage trinityStorage, SettingsModel model)
        {
            try
            {
                _model           = model;
                _originalStorage = trinityStorage;
                _storage         = new TrinityStorage();
                _originalStorage.CopyTo(_storage);
                InitializeResetCommand();

                SaveCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        SaveSettings(_storage);
                        UILoader.CloseWindow();
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception in UI SaveCommand {0}", ex);
                    }
                });
                DumpBackpackCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        Core.Logger.Log(
                            "\n############################################\n"
                            + "\nDumping Backpack Items. This will hang your client. Please wait....\n"
                            + "##########################");
                        UILoader.CloseWindow();
                        DebugUtil.DumpItems(DebugUtil.DumpItemLocation.Backpack);
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception dumping Backpack: {0}", ex);
                    }
                });
                DumpQuickItemsCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        Core.Logger.Log(
                            "\n############################################\n"
                            + "\nQuick Dumping Items. This will hang your client. Please wait....\n"
                            + "##########################");
                        UILoader.CloseWindow();
                        DebugUtil.DumpQuickItems();
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception Quick Dumping: {0}", ex);
                    }
                });
                DumpAllItemsCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        Core.Logger.Log(
                            "\n############################################\n"
                            + "\nDumping ALL Items. This will hang your client. Please wait....\n"
                            + "##########################");
                        UILoader.CloseWindow();
                        DebugUtil.DumpItems(DebugUtil.DumpItemLocation.All);
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception Dumping ALL Items: {0}", ex);
                    }
                });
                DumpSkillsAndItemsCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        UILoader.CloseWindow();
                        DebugUtil.LogBuildAndItems(TrinityLogLevel.Info);
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception Dumping Skill/Rune/Passive Items: {0}", ex);
                    }
                });
                DumpInvalidItemsCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        UILoader.CloseWindow();
                        DebugUtil.LogInvalidItems(TrinityLogLevel.Info);
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception Dumping Invalid Items: {0}", ex);
                    }
                });
                DumpItemSNOReference = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        UILoader.CloseWindow();
                        DebugUtil.DumpItemSNOReference();
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception in DumpItemSNOReference: {0}", ex);
                    }
                });
                DumpReferenceItems = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        UILoader.CloseWindow();
                        DebugUtil.DumpReferenceItems();
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception in DumpReferenceItems: {0}", ex);
                    }
                });
                GenerateGameData = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        UILoader.CloseWindow();
                        //DebugUtil.GenerateGameData();
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception in DumpReferenceItems: {0}", ex);
                    }
                });
                DumpMerchantItemsCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        Core.Logger.Log(
                            "\n############################################\n"
                            + "\nDumping Merchant Items. This will hang your client. Please wait....\n"
                            + "##########################");
                        UILoader.CloseWindow();
                        DebugUtil.DumpItems(DebugUtil.DumpItemLocation.Merchant);
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception dumping Merchant: {0}", ex);
                    }
                });
                DumpEquippedCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        Core.Logger.Log(
                            "\n############################################\n"
                            + "\nDumping Equipped Items. This will hang your client. Please wait....\n"
                            + "##########################");
                        UILoader.CloseWindow();
                        DebugUtil.DumpItems(DebugUtil.DumpItemLocation.Equipped);
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception dumping Equipped: {0}", ex);
                    }
                });
                DumpGroundItemsCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        Core.Logger.Log(
                            "\n############################################\n"
                            + "\nDumping Ground Items. This will hang your client. Please wait....\n"
                            + "##########################");
                        UILoader.CloseWindow();
                        DebugUtil.DumpItems(DebugUtil.DumpItemLocation.Ground);
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception dumping Ground: {0}", ex);
                    }
                });
                DumpStashCommand = new RelayCommand(
                    parameter =>
                {
                    try
                    {
                        Core.Logger.Log(
                            "\n############################################\n"
                            + "\nDumping Stash Items. This will hang your client. Please wait....\n"
                            + "##########################");
                        UILoader.CloseWindow();
                        DebugUtil.DumpItems(DebugUtil.DumpItemLocation.Stash);
                    }
                    catch (Exception ex)
                    {
                        Core.Logger.Log("Exception dumping Stash: {0}", ex);
                    }
                });
                TestScoreCommand = new RelayCommand(
                    parameter =>
                {
                });
                HelpLinkCommand = new RelayCommand(
                    parameter =>
                {
                    var link = parameter as string;
                    if (!string.IsNullOrWhiteSpace(link))
                    {
                        Process.Start(link);
                    }
                });
            }
            catch (Exception ex)
            {
                Core.Logger.Error("Error creating TrinityPlugin View Model {0}", ex);
            }
        }
Exemple #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);
            }
        }