public NameMatch(CharacterWishlist wishlist) { if (wishlist.Items.Count == 0) { _name = null; return; } var builder = new StringBuilder(); var first = true; foreach (var item in wishlist.Items) { if (first) { first = false; } else { builder.Append('|'); } builder.Append('(') .Append(item.Name) .Append(')'); } _name = new Regex(builder.ToString(), RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnoreCase); }
void ResetNameMatch(CharacterWishlist wishlist) { try { _name = new NameMatch(wishlist); _logger.LogDebug($"Loaded character wishlist: {JsonConvert.SerializeObject(wishlist)}"); } catch (Exception e) { _name = default; _logger.LogWarning(e, "Could not build character match."); } }