The Trigger subsystem provides the abstract matching mechanism for determining how an interaction is initiated. Each InteractionContext can have one or more triggers; when an Interactor passes a trigger to TryInteractWith(), the system checks for a match.
Architecture
Data Flow
Key Concept
The generic InteractionTrigger<T> pattern enforces type-safe matching: Match() first checks if the incoming trigger is the correct type via is cast, then delegates to the abstract IsMatch(T) for custom comparison logic (e.g., matching a specific input key, proximity zone, or click target).