70 virtual const std::string& GetType()
const override;
109 virtual void ProcessMessages();
117 virtual void ProcessNetworkMessages();
128 virtual void RegisterForMessage(
const std::string& messageType,
EntityBase& listeningActor,
const std::string& invokableName);
138 virtual void UnregisterFromMessage(
const std::string& messageType,
EntityBase& listeningActor);
149 virtual void RegisterForMessagesAboutEntity(
EntityBase& listeningEntity,
const trBase::UniqueId& aboutEntityId,
const std::string& invokableName);
201 virtual bool UnregisterAllActors();
223 virtual std::vector<trManager::EntityBase*> FindActorsByType(
const std::string& actorType);
234 virtual std::vector<trManager::EntityBase*> FindActorsByName(
const std::string& actorName);
278 virtual void UnregisterAllDirectors();
312 virtual std::vector<trManager::EntityBase*> FindDirectors(
const std::string& type)
const;
322 virtual void RemoveMarkedEntities();
329 virtual void ShutDown();
430 using DirectorList = std::list<trBase::SmrtPtr<trManager::EntityBase>>;
448 using ActorList = std::vector<trBase::SmrtPtr<trManager::EntityBase>>;
488 void RegisterMsgWithMsgMap(
const std::string& messageType,
EntityBase& listeningEntity,
const std::string& invokableName,
MessageRegistrationMap& messageMap);
std::vector< trBase::SmrtPtr< trManager::EntityBase > > ActorList
Sets the priority for a Director instance.
This class creates a GUID, or a Unique ID that is used through out TR to identify and distinguish one...
std::list< trBase::SmrtPtr< trManager::EntityBase > > DirectorList
A string wrapper that will make sure that all of the strings with the same value will point to the sa...
static const trUtil::RefStr CLASS_TYPE
Adds an easy and swappable access to the base class.
DirectorIDMap mDirectorIDMap
System Manager class is a singleton that is responsible for all message routing and basic operations ...
DirectorNameMap mDirectorNameMap
This class is part of the internal garbage collection system.
This is a Base class that carries the Class name and Unique ID of all the derived classes...
static DirectorPriority NORMAL
Normal priority.
DirectorList mDirectorList
std::queue< trBase::SmrtPtr< const trManager::MessageBase > > mMessageQueue
UUIDRegistrationVectorMap mListenerRegistrationMap
MessageRegistrationMap mDirectorGlobalMsgRegistrationMap
MessageRegistrationVectorMap mEntityGlobalMsgRegistrationMap
std::pair< trBase::SmrtPtr< trManager::EntityBase >, std::string > EntityInvokablePair
This serves as the base class for the Entity class and removes a circular dependency between Entity a...
This is the base class for all the messages in TR.
std::vector< trBase::SmrtPtr< trManager::EntityBase > > mEntityDeleteList
#define TR_MANAGER_EXPORT
static trBase::SmrtPtr< trManager::SystemManager > mInstance
std::queue< trBase::SmrtPtr< const trManager::MessageBase > > mNetworkMessageQueue