43 #include "dox/mainpage.h"
278 #include "singleton.h"
279 #include "stringtool.h"
281 #include "Resource/resourceenumerations.h"
295 class ParticleFXPlugin;
307 class EntresolManager;
308 class EntresolManagerFactory;
313 class ManagerConstructionInfo;
356 static ManagerFactoryMap ManagerFactories;
362 ManagerContainer ManagerList;
365 WorldContainer Worlds;
368 Ogre::ParticleFXPlugin* SubSystemParticleFXPlugin;
374 Int32 ManualLoopBreak;
384 void Construct(
const String& EngineDataPath,
const String& GraphicsLogFileName,
const ManagerVec& ManagersToBeAdded);
409 void SetupLogging(
const String& OgreLogFileName);
413 void SetupOgreLogging(
const String& OgreLogFileName);
416 void SetupInternalLogging();
419 void DestroyLogging();
427 Boole VerifyManagerInitializations();
460 Entresol(
const String& EngineDataPath,
const String& LogFileName,
const ManagerVec& ManagersToBeAdded);
485 void SetTargetFrameRate(
const Whole NewFrameRate);
492 void SetTargetFrameTimeMilliseconds(
const Whole NewTargetTime);
499 void SetTargetFrameTimeMicroseconds(
const Whole NewTargetTime);
504 Whole GetTargetFrameTimeMilliseconds()
const;
509 Whole GetTargetFrameTimeMicroseconds()
const;
514 Whole GetLastFrameTimeMilliseconds()
const;
518 Whole GetLastFrameTimeMicroseconds()
const;
527 void Initialize(
const Boole InitWorlds);
532 void PreMainLoopInit();
548 void BreakMainLoop(
Boole Break =
true);
551 Whole GetFrameCount()
const;
564 static void RemoveManagerFactory(
const String& ImplName);
570 static void DestroyManagerFactory(
const String& ImplName);
573 static void DestroyAllManagerFactories();
575 static void AddAllEngineDefaultManagerFactories();
597 void DestroyAllManagers();
614 void RemoveManager(
const Whole RemoveType,
UInt16 WhichOne = 0);
627 World* CreateWorld(
const String& WorldName,
const std::vector <WorldManager*>& ManagerToBeAdded);
644 void AddWorld(
World* WorldToBeAdded);
666 void RemoveAllWorlds();
669 void DestroyWorld(
World* WorldToBeDestroyed);
672 void DestroyWorldByName(
const String& WorldName);
674 void DestroyAllWorlds();
678 void PauseAllWorlds(
Boole Pause);
686 template <
class T>
void _Log(
const T& Message)
691 void _LogString(
const String& Message);
int32_t Int32
An 32-bit integer.
ThreadId MEZZ_LIB get_id()
Return the thread ID of the calling thread.
std::stringstream Logger
In case we ever replace the stringstream with another class, this will allow us to swap it out...
std::vector< EntresolManager * > ManagerVec
Container type for passing pre-created managers into the Entresol upon creation.
bool Boole
Generally acts a single bit, true or false.
std::map< String, EntresolManagerFactory * > ManagerFactoryMap
Basic container type for factories that construct known manager types.
This is a base class for factories that construct managers used by the Entresol class.
ManagerContainer::const_iterator ConstManagerIterator
Const Iterator type for managers stored by this class.
All the definitions for datatypes as well as some basic conversion functions are defined here...
This is a convenience base class intended to be used with classes that need to be singletons...
void _Log(const T &Message)
Runtime event and message logging.
ArchiveType
Used to indicate what kind of resources the Entrosol should look for.
ManagerVec::iterator ManagerVecIterator
Iterator type for containers of pre-created managers.
ManagerVec::const_iterator ConstManagerVecIterator
Const Iterator type for containers of pre-created managers.
uint16_t UInt16
An 16-bit unsigned integer.
std::vector< World * > WorldContainer
Basic container type for World storage.
This is the base class for all managers that do no describe properties of a single world...
A light-weight handle for manipulating nodes in DOM tree.
This is central object in this algorithm, it is responsible for spawning threads and managing the ord...
std::list< NameValuePair > NameValuePairList
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
std::list< EntresolManager * > ManagerContainer
Basic container type for normal manager storage in this class.
This is the main entry point for the entire library.
Gather all the thread specific logs and commit them to the main log.
WorldContainer::const_iterator ConstWorldIterator
Const Iterator type for Worlds stored by this class.
The bulk of the engine components go in this namspace.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
This class represents a world for objects to interact within.
ManagerFactoryMap::const_iterator ConstManagerFactoryIterator
Const Iterator type for manager factories stored by this class.
WorldContainer::iterator WorldIterator
Iterator type for Worlds stored by this class.
This is the file that code using this library should include. It includes all the required components...
The thread ID is a unique identifier for each thread.
std::vector< EntresolManagerFactory * > ManagerFactoryVec
Basic container type for factories that construct known manager types.
std::string String
A datatype used to a series of characters.
ManagerFactoryMap::iterator ManagerFactoryIterator
Iterator type for manager factories stored by this class.
ManagerContainer::iterator ManagerIterator
Iterator type for managers stored by this class.
This is a helper class storing information needed for the construction of a PhysicsManager.