public static TieringChange FromTieringCommand(TieringCommand item) { TieringChange result = new TieringChange(); result.BaseType = item.BaseType; result.OldTier = item.OldTier; result.NewTier = item.NewTier; result.Reason = item.AppliedRule; result.Confidence = item.Confidence; result.Category = item.Group; result.Change = TranslateChange(item); if (!item.Group.ToLower().Contains("rare")) { var items = ItemInformationFacade.GetInstance()[item.Group, item.BaseType]; if (items != null) { result.InnerInformation = items.GroupBy(x => x.Name) .Select(x => x.First()) .Select(x => new TieringChangeInnerItemInformaiton() { Name = x.Name, Icon = "", Aspects = null }) .ToList(); } } return(result); }
public void ApplyCommand(TieringCommand command) { if (command.LocalIgnore) { return; } if (command.Performed) { return; } if (command.OldTier.ToLower() == command.NewTier.ToLower()) { return; } if (command.NewTier == "???") { return; } var oldTiers = command.OldTier.Split(','); var accessCommand = this.TierListData[command.Group].KeyIdent; foreach (var oldTier in oldTiers) { if (!FilterGenerationConfig.IgnoredSuggestionTiers.Contains(oldTier.ToLower())) { var removalTarget = this.TierListData[command.Group] .FilterEntries[oldTier].Entry .Select(x => x.GetValues <EnumValueContainer>(accessCommand)) .SelectMany(x => x).ToList(); removalTarget.ForEach(x => x.Value.RemoveWhere(z => z.value.Equals(command.BaseType, StringComparison.InvariantCultureIgnoreCase))); command.Performed = true; } } var newTiers = command.NewTier.Split(','); foreach (var newTier in newTiers) { if (!FilterGenerationConfig.IgnoredSuggestionTiers.Contains(newTier.ToLower())) { var additionTarget = this.TierListData[command.Group] .FilterEntries[newTier].Entry .Select(x => x.GetValues <EnumValueContainer>(accessCommand)) .SelectMany(x => x).ToList(); additionTarget.ForEach(x => x.Value.Add(new LineToken() { value = command.BaseType, isQuoted = true })); command.Performed = true; } } }
public bool Applies(TieringCommand x) { if (!this.Active) { return(true); } return(Rule(x)); }
private static int TranslateChange(TieringCommand item) { if (item.OldTier == item.NewTier) { return(0); } return(1); }
private bool IsSuggestionVisible(TieringCommand x) { foreach (var item in this.TieringFilters) { if (!item.Value.Applies(x)) { return(false); } } return(true); }
#pragma warning restore CS0067 private void TieringSuggestionsGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) { if (TieringSuggestionsGrid.SelectedItem == null) { return; } TieringCommand command = TieringSuggestionsGrid.SelectedItem as TieringCommand; InnerView.BranchKey = command.Group; InnerView.Key = command.BaseType; InnerView.SelectFirstItem(); }
private string GenerateExplanation(TieringCommand item) { return($"{item.OldTier} -> {item.NewTier}"); }