Ejemplo n.º 1
0
    public static Item GeneratePredefinedItem(EPredefinedItem predefinedItem)
    {
        PredefinedItem pdItem = predefinedItems.PredefinedItem[predefinedItem];

        item                      = LookUpItem(pdItem.EquipmentType);
        item.Seed                 = pdItem.Seed;
        item.Types.Rarity         = pdItem.Rarity;
        item.Types.PrefixModifyer = pdItem.PrefixModifyer;
        item.Types.SuffixModifyer = pdItem.SuffixModifyer;
        item.PrefixIndex          = pdItem.PrefixIndex;
        item.SuffixIndex          = pdItem.SuffixIndex;

        if (pdItem.OverrideBaseStats)
        {
            item.Stats = new ItemStats(pdItem.Stats);
        }

        item.Name     = itemModifyerGenerator.GetIMName(item.Name, pdItem.PrefixModifyer, pdItem.SuffixModifyer, pdItem.PrefixIndex, pdItem.SuffixIndex);
        item.Stats    = GetIMStats(item.Stats, pdItem.PrefixModifyer, pdItem.SuffixModifyer);
        item.IconPath = GetIconPath(item.Types.ItemType, item.IconPath);

        item.ID    = GenerateID(item);
        item.Stats = CalculateItemStats(item);
        return(new Item(item, true));
    }
Ejemplo n.º 2
0
        public void TestSetupPredefined()
        {
            var filterConfigForm = new FilterConfigForm();
            var predefinedFilter = new PredefinedItem
            {
                Fields = new Dictionary <FormField, string>()
            };

            foreach (var field in Enum.GetValues(typeof(FormField)).Cast <FormField>().Where(f => f != FormField.TrimMiddle))
            {
                predefinedFilter.Fields.Add(field, field.ToString().ToLower());
            }

            filterConfigForm.SetupPredefined(predefinedFilter, true);

            var expectedColorMap = FilterFactory.GetColorMap(predefinedFilter);
            var actualColorMap   = filterConfigForm.HighlightColorMap;

            Assert.AreEqual(expectedColorMap.Keys.Count, actualColorMap.Keys.Count);

            foreach (var expectedKey in expectedColorMap.Keys)
            {
                Assert.AreEqual(expectedColorMap[expectedKey], actualColorMap[expectedKey], $"Key {expectedKey} differes");
            }
        }
Ejemplo n.º 3
0
        private void OpenSaveFilterForm(PredefinedItem predefinedItem)
        {
            var promptForm = new SaveFilterPromptForm(predefinedItem);

            if (promptForm.ShowDialog() == DialogResult.OK)
            {
                PopulatePredefinedControls();
            }
        }
Ejemplo n.º 4
0
 public static ILineFilter CreateFilter(PredefinedItem predefinedItem)
 {
     return(CreateFilter(
                predefinedItem.Fields.GetValueOrDefault(FormField.Filter, ""),
                GetColorMap(predefinedItem),
                predefinedItem.Fields.GetValueOrDefault(FormField.TrimTo, ""),
                predefinedItem.Fields.GetValueOrDefault(FormField.TrimFrom, ""),
                predefinedItem.Fields.GetValueOrDefault(FormField.TrimMiddle, "")
                ));
 }
Ejemplo n.º 5
0
 public static ILineFilter CreateFilter(PredefinedItem predefinedItem)
 {
     return CreateFilter(
         predefinedItem.Fields.GetValueOrDefault(FormField.Filter, ""),
         GetColorMap(predefinedItem),
         predefinedItem.Fields.GetValueOrDefault(FormField.TrimTo, ""),
         predefinedItem.Fields.GetValueOrDefault(FormField.TrimFrom, ""),
         predefinedItem.Fields.GetValueOrDefault(FormField.TrimMiddle, "")
     );
 }
Ejemplo n.º 6
0
        public SaveFilterPromptForm(PredefinedItem filterItem)
        {
            InitializeComponent();

            this.filterItem           = filterItem;
            textBoxFilterName.Enabled = string.IsNullOrEmpty(filterItem.Name);

            textBoxFilterName.Text  = filterItem.Name;
            textBoxDescription.Text = filterItem.Description;
        }
Ejemplo n.º 7
0
        public SaveFilterPromptForm(PredefinedItem filterItem)
        {
            InitializeComponent();

            this.filterItem = filterItem;
            textBoxFilterName.Enabled = string.IsNullOrEmpty(filterItem.Name);

            textBoxFilterName.Text = filterItem.Name;
            textBoxDescription.Text = filterItem.Description;
        }
Ejemplo n.º 8
0
        public void SetupPredefined(PredefinedItem predefinedItem, bool setFilter)
        {
            ClearForm(predefinedItem.ClearFilter, predefinedItem.ClearHighlight);

            foreach (var field in predefinedItem.Fields)
            {
                switch (field.Key)
                {
                case FormField.Filter:
                    textBoxFilter.Text = field.Value;
                    break;

                case FormField.TrimTo:
                    textBoxTrimTo.Text = field.Value;
                    break;

                case FormField.TrimFrom:
                    textBoxTrimFrom.Text = field.Value;
                    break;

                case FormField.TrimMiddle:
                    textBoxTrimMiddle.Text = field.Value;
                    break;

                case FormField.Red:
                    textBoxRedRegex.Text = field.Value;
                    break;

                case FormField.Yellow:
                    textBoxYellowRegex.Text = field.Value;
                    break;

                case FormField.Green:
                    textBoxGreenRegex.Text = field.Value;
                    break;

                case FormField.Blue:
                    textBoxBlueRegex.Text = field.Value;
                    break;

                case FormField.Gray:
                    textBoxGrayRegex.Text = field.Value;
                    break;

                case FormField.Subtle:
                    textBoxSubtleRegex.Text = field.Value;
                    break;
                }
            }

            if (setFilter)
            {
                SetFilter();
            }
        }
Ejemplo n.º 9
0
 public static IDictionary <HighlightColor.ColorIndex, string> GetColorMap(PredefinedItem predefinedItem)
 {
     return(new Dictionary <HighlightColor.ColorIndex, string>
     {
         { HighlightColor.ColorIndex.Red, predefinedItem.Fields.GetValueOrDefault(FormField.Red, "") },
         { HighlightColor.ColorIndex.Yellow, predefinedItem.Fields.GetValueOrDefault(FormField.Yellow, "") },
         { HighlightColor.ColorIndex.Green, predefinedItem.Fields.GetValueOrDefault(FormField.Green, "") },
         { HighlightColor.ColorIndex.Blue, predefinedItem.Fields.GetValueOrDefault(FormField.Blue, "") },
         { HighlightColor.ColorIndex.Gray, predefinedItem.Fields.GetValueOrDefault(FormField.Gray, "") },
         { HighlightColor.ColorIndex.Subtle, predefinedItem.Fields.GetValueOrDefault(FormField.Subtle, "") }
     });
 }
Ejemplo n.º 10
0
 public static IDictionary<HighlightColor.ColorIndex, string> GetColorMap(PredefinedItem predefinedItem)
 {
     return new Dictionary<HighlightColor.ColorIndex, string>
         {
             { HighlightColor.ColorIndex.Red, predefinedItem.Fields.GetValueOrDefault(FormField.Red, "") },
             { HighlightColor.ColorIndex.Yellow, predefinedItem.Fields.GetValueOrDefault(FormField.Yellow, "") },
             { HighlightColor.ColorIndex.Green, predefinedItem.Fields.GetValueOrDefault(FormField.Green, "") },
             { HighlightColor.ColorIndex.Blue, predefinedItem.Fields.GetValueOrDefault(FormField.Blue, "") },
             { HighlightColor.ColorIndex.Gray, predefinedItem.Fields.GetValueOrDefault(FormField.Gray, "") },
             { HighlightColor.ColorIndex.Subtle, predefinedItem.Fields.GetValueOrDefault(FormField.Subtle, "") }
         };
 }
Ejemplo n.º 11
0
        private PredefinedItem SetPrefedinedItemValues(PredefinedItem item)
        {
            item.ClearFilter    = true;
            item.ClearHighlight = true;
            item.Fields         = new Dictionary <FormField, string>
            {
                { FormField.Filter, textBoxFilter.Text },
                { FormField.TrimTo, textBoxTrimTo.Text },
                { FormField.TrimFrom, textBoxTrimFrom.Text },
                { FormField.TrimMiddle, textBoxTrimMiddle.Text },
                { FormField.Red, textBoxRedRegex.Text },
                { FormField.Yellow, textBoxYellowRegex.Text },
                { FormField.Green, textBoxGreenRegex.Text },
                { FormField.Blue, textBoxBlueRegex.Text },
                { FormField.Gray, textBoxGrayRegex.Text },
                { FormField.Subtle, textBoxSubtleRegex.Text },
            };

            return(item);
        }
Ejemplo n.º 12
0
        private void EditFilter(PredefinedItem predefinedItem)
        {
            var preview = true;

            if (predefinedItem != null)
            {
                filterConfigForm.SetupPredefined(predefinedItem, !mainMenuToolbar.PreviewPredefinedFilter);
                preview = mainMenuToolbar.PreviewPredefinedFilter;
            }

            if (!preview || (filterConfigForm.ShowDialog() == DialogResult.OK && !string.IsNullOrEmpty(mainMenuToolbar.FilePath)))
            {
                var settingsManager = SettingsManager.Instance;
                var fileSettings    = settingsManager.GetFileSettings(mainMenuToolbar.FilePath);

                fileSettings.FilterRegex       = filterConfigForm.FilterText;
                fileSettings.ToTrimRegex       = filterConfigForm.TrimToText;
                fileSettings.FromTrimRegex     = filterConfigForm.TrimFromText;
                fileSettings.MiddleTrimRegex   = filterConfigForm.TrimMiddleText;
                fileSettings.HighlightRegexMap = filterConfigForm.HighlightColorMap.EnumKeyToString();
                settingsManager.Save();

                EnableFilter(mainMenuToolbar.FilterEnabled);
                EnableTrim(mainMenuToolbar.TrimEnabled);
                EnableHighlight(mainMenuToolbar.HighlightEnabled);

                if (tailManager.IsRunning && mainMenuToolbar.PromptRefreshOnFilterChange)
                {
                    var message = "Refresh the file?\r\n\r\nAny filter or highlighting changes will not apply to existing lines, only new lines.";
                    if (MessageBox.Show(message, "Filter Changed", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        RefreshFile();
                    }
                }
            }
            else
            {
                SetupFilterConfigForm();
            }
        }
Ejemplo n.º 13
0
        private void EditFilter(PredefinedItem predefinedItem)
        {
            var preview = true;

            if (predefinedItem != null)
            {
                filterConfigForm.SetupPredefined(predefinedItem, !mainMenuToolbar.PreviewPredefinedFilter);
                preview = mainMenuToolbar.PreviewPredefinedFilter;
            }

            if (!preview || (filterConfigForm.ShowDialog() == DialogResult.OK && !string.IsNullOrEmpty(mainMenuToolbar.FilePath)))
            {
                var settingsManager = SettingsManager.Instance;
                var fileSettings = settingsManager.GetFileSettings(mainMenuToolbar.FilePath);

                fileSettings.FilterRegex = filterConfigForm.FilterText;
                fileSettings.ToTrimRegex = filterConfigForm.TrimToText;
                fileSettings.FromTrimRegex = filterConfigForm.TrimFromText;
                fileSettings.MiddleTrimRegex = filterConfigForm.TrimMiddleText;
                fileSettings.HighlightRegexMap = filterConfigForm.HighlightColorMap.EnumKeyToString();
                settingsManager.Save();

                EnableFilter(mainMenuToolbar.FilterEnabled);
                EnableTrim(mainMenuToolbar.TrimEnabled);
                EnableHighlight(mainMenuToolbar.HighlightEnabled);

                if (tailManager.IsRunning && mainMenuToolbar.PromptRefreshOnFilterChange)
                {
                    var message = "Refresh the file?\r\n\r\nAny filter or highlighting changes will not apply to existing lines, only new lines.";
                    if (MessageBox.Show(message, "Filter Changed", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        RefreshFile();
                    }
                }
            }
            else
            {
                SetupFilterConfigForm();
            }
        }
Ejemplo n.º 14
0
 private void PredefinedItemClick(PredefinedItem predefinedItem)
 {
     EditFilter?.Invoke(predefinedItem);
 }
Ejemplo n.º 15
0
        private static void TestPredefined(ILineFilter filter, TestResult testResult, PredefinedFolder folder, PredefinedItem item)
        {
            var result = filter.IsMatch(testResult.TestString);

            Assert.IsNotNull(testResult.ExpectedFilterResult, $"[{folder.Name}/{item.Name}] has not defined ExpectedFilterResult");
            Assert.AreEqual(testResult.ExpectedFilterResult.IsMatch, result.IsMatch, $"[{folder.Name}/{item.Name}] failed IsMatch for '{testResult.TestString}'");
            Assert.AreEqual(testResult.ExpectedFilterResult.HighlightColor, result.HighlightColor, $"[{folder.Name}/{item.Name}] failed HighlightColor for '{testResult.TestString}'");

            if (testResult.ExpectedFilterResult.Result != null)
            {
                Assert.AreEqual(testResult.ExpectedFilterResult.Result, result.Result, $"{folder.Name}/[{item.Name}] failed Result for '{testResult.TestString}'");
            }
        }
Ejemplo n.º 16
0
        private static void ValidatePredfinedItemTestStrings(PredefinedFolder folder, PredefinedItem item)
        {
            Assert.IsNotNull(item.TestSuccessStrings, $"[{folder.Name}/{item.Name}] does not have TestSuccessStrings defined");
            Assert.IsTrue(item.TestSuccessStrings.Any(), $"[{item.Name}] does not have TestSuccessStrings defined");

            Assert.IsNotNull(item.TestFailStrings, $"[{folder.Name}/{item.Name}] does not have TestFailStrings defined");
            Assert.IsTrue(item.TestFailStrings.Any(), $"[{folder.Name}/{item.Name}] does not have TestFailStrings defined");
        }
Ejemplo n.º 17
0
        private PredefinedItem SetPrefedinedItemValues(PredefinedItem item)
        {
            item.ClearFilter = true;
            item.ClearHighlight = true;
            item.Fields = new Dictionary<FormField, string>
            {
                { FormField.Filter, textBoxFilter.Text },
                { FormField.TrimTo, textBoxTrimTo.Text },
                { FormField.TrimFrom, textBoxTrimFrom.Text },
                { FormField.TrimMiddle, textBoxTrimMiddle.Text },
                { FormField.Red, textBoxRedRegex.Text },
                { FormField.Yellow, textBoxYellowRegex.Text },
                { FormField.Green, textBoxGreenRegex.Text },
                { FormField.Blue, textBoxBlueRegex.Text },
                { FormField.Gray, textBoxGrayRegex.Text },
                { FormField.Subtle, textBoxSubtleRegex.Text },
            };

            return item;
        }
Ejemplo n.º 18
0
 private void OpenSaveFilterForm(PredefinedItem predefinedItem)
 {
     var promptForm = new SaveFilterPromptForm(predefinedItem);
     if (promptForm.ShowDialog() == DialogResult.OK)
     {
         PopulatePredefinedControls();
     }
 }
Ejemplo n.º 19
0
        public void SetupPredefined(PredefinedItem predefinedItem, bool setFilter)
        {
            ClearForm(predefinedItem.ClearFilter, predefinedItem.ClearHighlight);

            foreach (var field in predefinedItem.Fields)
            {
                switch (field.Key)
                {
                    case FormField.Filter:
                        textBoxFilter.Text = field.Value;
                        break;
                    case FormField.TrimTo:
                        textBoxTrimTo.Text = field.Value;
                        break;
                    case FormField.TrimFrom:
                        textBoxTrimFrom.Text = field.Value;
                        break;
                    case FormField.TrimMiddle:
                        textBoxTrimMiddle.Text = field.Value;
                        break;
                    case FormField.Red:
                        textBoxRedRegex.Text = field.Value;
                        break;
                    case FormField.Yellow:
                        textBoxYellowRegex.Text = field.Value;
                        break;
                    case FormField.Green:
                        textBoxGreenRegex.Text = field.Value;
                        break;
                    case FormField.Blue:
                        textBoxBlueRegex.Text = field.Value;
                        break;
                    case FormField.Gray:
                        textBoxGrayRegex.Text = field.Value;
                        break;
                    case FormField.Subtle:
                        textBoxSubtleRegex.Text = field.Value;
                        break;
                }
            }

            if (setFilter)
            {
                SetFilter();
            }
        }
Ejemplo n.º 20
0
 private void PredefinedItemClick(PredefinedItem predefinedItem)
 {
     EditFilter?.Invoke(predefinedItem);
 }