Leverages
TagSets to fill the
IGameObjectFilter role of determining whether a GameObject should be included in or excluded from a certain operation - for example, whether an Interactor<TInteractor, TInteractable> should be allowed to interact with an Interactable<TInteractor, TInteractable>.
TagSetFilter supports both "require tags" and "exclude tags". "Require tags" are tags which must all be present on a GameObject's
TagSet in order for the GameObject to not be excluded by
Filter(GameObject). Similarly, "exclude tags" are tags which, if any appear in a GameObject's
TagSet, that GameObject will be excluded by
Filter(GameObject).