The context subsystem binds an Interaction to its triggers and conditions. Each InteractionContext is a single entry in an InteractionTable, representing one "row" of: when (triggers), if (conditions), and what (interaction).
Architecture
Data Flow
Key Concepts
Concept
Description
Trigger matching
CanBeTriggeredWith() uses triggers.Any() — at least one trigger must match (logical OR)
Condition evaluation
IsAvailableInContext() uses conditions.All() — every condition must pass (logical AND)
Scoped context
Execute() uses IDisposable / using to automatically clean up interactor/interactable refs
Runtime modification
Triggers and conditions can be added/removed at runtime via Add/Remove methods