20#include <vrfobjcore/scriptReactiveTaskController.h>
49 DtComponentDescriptor* desc, DtReaderWriterRegistry* parentRegistry);
56 virtual void tick()
override;
68 static DtSimComponent*
creator(
const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
69 DtComponentDescriptor* desc, DtReaderWriterRegistry* parentRegistry);
80 virtual bool shouldScriptBeEnabled(
const DtString& scriptName,
const std::set<std::string>& currentRoles)
const;
Script reactive task controller descriptor for VREngage.
Definition vreScriptReactiveTaskControllerDescriptor.h:42
DtVreScriptReactiveTaskController()
Default constructor (not implemented)
DtVreScriptReactiveTaskController(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc, DtReaderWriterRegistry *parentRegistry)
Constructor.
virtual void updateReactiveTasks(const std::set< std::string > ¤tRoles)
Updates all reactive tasks based on current roles.
std::set< std::string > myLastTickRolesEngaged
Set of roles that were engaged during the last tick.
Definition vreScriptReactiveTaskController.h:129
virtual void tick() override
Updates the controller state each simulation frame.
virtual bool shouldScriptBeEnabled(const DtString &scriptName, const std::set< std::string > ¤tRoles) const
Determines if a reactive task script should be enabled.
DtVreScriptReactiveTaskController(const DtVreScriptReactiveTaskController &other)
Copy constructor (not implemented)
DtVreScriptReactiveTaskControllerDescriptor * myDescriptor
Pointer to the component's descriptor.
Definition vreScriptReactiveTaskController.h:123
virtual void getRolesEngagedOnEntity(std::set< std::string > &roles)
Retrieves the set of roles currently engaged on the entity.
std::map< DtString, std::vector< std::string > > myScriptIdsWithRolesToAllow
Mapping of script IDs to their allowed roles.
Definition vreScriptReactiveTaskController.h:136
DtVreScriptReactiveTaskController & operator=(const DtVreScriptReactiveTaskController &other)
Assignment operator (not implemented)
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc, DtReaderWriterRegistry *parentRegistry)
Factory method to create a new instance of this component.
DtVreSimComponent(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Definition vreSimComponent.h:54
Defines export macros for the vreVrfmodel library.
#define VREVRFMODEL_DLL
Definition export.h:22
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
const char DtVreScriptReactiveTaskControllerType[]
Type identifier for the VRE script reactive task controller component.
Definition vreScriptReactiveTaskController.h:27
Base template class for VR-Engage simulation components.