Vixen
c7401864
csharp
public sealed class GameplayTagQuery

A rule about tags: all of these, any of these, none of these.

Read the guide page for this →

Remarks

Three lists and nothing else, deliberately. An arbitrary boolean expression over tags is a thing a generated inspector cannot draw, a thing a designer reads wrong, and a thing whose evaluation order becomes a question. All of · any of · none of covers every rule doc 28 asks for — an ability's target filter, an effect's immunity list, a vendor's stock condition, a quest objective's kill filter, a chat channel's gate — and it composes, because a rule needing more than one of these is more than one rule.

Resolved once, against a table. The authored form is dotted strings; what is kept is GameplayTagRanges, so matching never touches the table or a string. A prefix the content does not have resolves to an empty range, which matches nothing — so an any list of unknown tags fails and a none list of unknown tags passes, both of which are the safe reading.

Fields and properties (5)

  • public static GameplayTagQuery Always

    The query every set satisfies. What an unconditional rule resolves to.

  • public bool IsSome

    Whether this query asks anything at all.

  • public ReadOnlySpan<GameplayTagRange> All

    The prefixes a set must all match.

  • public ReadOnlySpan<GameplayTagRange> Any

    The prefixes a set must match at least one of.

  • public ReadOnlySpan<GameplayTagRange> None

    The prefixes a set must match none of.

Methods (2)

  • public static GameplayTagQuery Resolve(GameplayTagTable table, IEnumerable<string>? all = null, IEnumerable<string>? any = null, IEnumerable<string>? none = null)

    Resolves an authored query against a tag table.

  • public bool Matches(GameplayTagSet? tags)

    Whether a set satisfies the query.

Used by (10)

  • CollectionLibraryVixen.Gameplay.Collections
  • ContainerPolicyVixen.Gameplay.Inventory
  • ContainerSetVixen.Gameplay.Inventory
  • ContainerTransactionTestsVixen.Gameplay.Inventory.Tests
  • EventBusTestsVixen.Gameplay.Quests.Tests
  • GameplayEventFilterVixen.Gameplay
  • GameplayTagQueryTestsVixen.Gameplay.Tests
  • MatchPoolVixen.Live.Matchmaking
  • MatchmakerTestsVixen.Live.Matchmaking.Tests
  • QuestLibraryVixen.Gameplay.Quests