57 const std::vector<EventID>& eventIds = {});
68 const TickPriority tickPriority,
const std::vector<std::shared_ptr<Action>>& actions);
129 std::vector<EventID> mPendingEventIds;
130 std::vector<std::shared_ptr<Action>> mPendingActions;
int32_t EventID
Numeric identifier for an event. -1 is uninitialized, IDs < -1 are internally registered,...
Definition EventTypes.h:8
A named Part with a parent/child hierarchy and optional thread safety.
Definition Component.h:34
Combines Tickable and Component, auto-registering with a Context.
Definition TickableComponent.h:42
TickableComponent & SetContext(std::shared_ptr< Context > context)
Changes the Context this component is associated with.
TickableComponent(const std::string &name, std::shared_ptr< Context > context, const TickGroup tickGroup, const TickPriority tickPriority, const std::vector< std::shared_ptr< Action > > &actions)
Constructs a TickableComponent with an explicit list of Actions.
TickableComponent(const std::string &name, std::shared_ptr< Context > context, const TickGroup tickGroup=TickGroup::TickGroupDefault, const TickPriority tickPriority=TickPriority::TickPriorityDefault, const std::vector< EventID > &eventIds={})
Constructs a TickableComponent with EventID subscriptions.
TickPriority GetTickPriority() const
Returns the tick priority within the TickGroup.
TickableComponent & SetTickGroup(const TickGroup tickGroup)
Sets the TickGroup for this component.
virtual bool ActionRan(EventID eventId)
Virtual hook invoked when an EventAction runs on this component.
std::shared_ptr< Context > GetContext() const
Returns the Context this component is registered with.
TickGroup GetTickGroup() const
Returns the TickGroup this component belongs to.
TickableComponent & SetTickPriority(const TickPriority tickPriority)
Sets the tick priority for this component.
virtual ~TickableComponent()
uint64_t GetOrder() const
Returns a composite order value derived from TickGroup and TickPriority.
void UnregisterFromContext()
Unregisters this component from its Context.
bool RegisterWithContext()
Registers this component with its Context.
Manages a collection of Actions and indexed EventActions.
Definition Tickable.h:29
Core namespace for the libultraship engine framework.
Definition gfx_direct3d_common.h:14
TickPriority
Controls execution order within a TickGroup (lower runs first).
Definition TickableComponent.h:20
TickGroup
Groups TickableComponents into logical tick categories.
Definition TickableComponent.h:17