An object responsible for tracking action listeners for a given project.
Triggered actions created by ActionContext do not actually reach their intended listeners until they have been (manually) sent via an ActionDispatch object. This affords developers some control over when and where actions are received.
In the engine's scene system, for example, while every ViewportNode has an associated ActionDispatch object, descendant viewports do not see triggered actions unless their parent viewports allow actions to propagate to them.
Usage:
};
bool actionHandled { false };
}
An object responsible for tracking action listeners for a given project.
Definition input_system.hpp:586
bool dispatchAction(const ::std::pair< ActionDefinition, ActionData > &pendingAction)
Sends data for an action to all of that action's registered handlers.
Definition action_context.cpp:269
A CRTP template for all the scene node types present in the project.
Definition scene_system.hpp:699
The base class for any type whose creation and storage should be managed by the ResourceDatabase.
Definition resource_database.hpp:372
A type of node capable of and responsible for interacting sensibly with the engine's RenderSystem and...
Definition scene_system.hpp:844
bool handleAction(std::pair< ActionDefinition, ActionData > pendingAction)
Handles an action received by this viewport, generally by dispatching it to subscribed listeners and ...
Definition scene_system.cpp:896