virtual void Run()
Starts the application loop.
static DirectorPriority HIGHEST
Highest possible priority.
static trManager::SystemManager & GetInstance()
Holds the class type name for efficient comparisons.
Smart pointer for handling referenced counted objects.
A string wrapper that will make sure that all of the strings with the same value will point to the sa...
virtual void Quit()
Stops the application loop and exits the application.
virtual bool RegisterDirector(trManager::EntityBase &director, trManager::DirectorPriority &priority=trManager::DirectorPriority::NORMAL)
Adds a director to the list of components the system manager will communicate with.
virtual const std::string & GetType() const override
Gets the type.
AppBase(const std::string &name=CLASS_TYPE)
Holds the class type name for efficient comparisons.
This is a Base class that carries the Class name and Unique ID of all the derived classes...
trBase::SmrtPtr< trCore::SystemDirector > mSysDirector
trBase::SmrtPtr< trManager::SystemManager > mSysMan
virtual bool SendMessage(const trManager::MessageBase &message)
Send a message to an Actor, Actor Module, or a Director.
virtual void Run()
Runs the systems game loop.
static const SystemControls SHUT_DOWN
Shuts down the system loop and exits the program.
A message that lets the system know what state to enable and setup.
static const trUtil::RefStr CLASS_TYPE
Adds an easy and swappable access to the base class.