Leviathan  0.8.0.0
Leviathan game engine
Leviathan::GameWorld::Implementation Class Reference

Public Member Functions

 ~Implementation ()
 

Public Attributes

std::map< std::string, ScriptComponentHolder::pointer > RegisteredScriptComponents
 
std::map< std::string, std::unique_ptr< ScriptSystemWrapper > > RegisteredScriptSystems
 
std::vector< std::tuple< WantedClockType::time_point, ResponseEntityUpdate > > QueuedEntityUpdates
 Queued entity updates. Contains the time it was received in order to throw out old ones. More...
 
SceneNode::pointer WorldCameraSO
 
bs::HCamera WorldCamera
 
bs::HSceneObject SunlightSO
 
bs::HLight Sunlight
 
bs::HSceneObject SkyboxSO
 
bs::HSkybox Skybox
 
std::shared_ptr< PhysicsDebugDrawerDebugDraw
 
Scene::pointer WorldScene
 

Detailed Description

Definition at line 40 of file GameWorld.cpp.

Constructor & Destructor Documentation

◆ ~Implementation()

Leviathan::GameWorld::Implementation::~Implementation ( )
inline

Definition at line 42 of file GameWorld.cpp.

43  {
44  // Check that there are no external references to these
45  for(const auto& tuple : RegisteredScriptComponents) {
46 
47  if(tuple.second->GetRefCount() != 1) {
48 
49  LOG_FATAL("GameWorld: ImplRelease: RegisteredScriptComponent (holder): has "
50  "external refs, count: " +
51  std::to_string(tuple.second->GetRefCount()));
52  }
53  }
54  }
#define LOG_FATAL(x)
Definition: Define.h:94
std::map< std::string, ScriptComponentHolder::pointer > RegisteredScriptComponents
Definition: GameWorld.cpp:56

Member Data Documentation

◆ DebugDraw

std::shared_ptr<PhysicsDebugDrawer> Leviathan::GameWorld::Implementation::DebugDraw

Definition at line 72 of file GameWorld.cpp.

◆ QueuedEntityUpdates

std::vector<std::tuple<WantedClockType::time_point, ResponseEntityUpdate> > Leviathan::GameWorld::Implementation::QueuedEntityUpdates

Queued entity updates. Contains the time it was received in order to throw out old ones.

Definition at line 61 of file GameWorld.cpp.

◆ RegisteredScriptComponents

std::map<std::string, ScriptComponentHolder::pointer> Leviathan::GameWorld::Implementation::RegisteredScriptComponents

Definition at line 56 of file GameWorld.cpp.

◆ RegisteredScriptSystems

std::map<std::string, std::unique_ptr<ScriptSystemWrapper> > Leviathan::GameWorld::Implementation::RegisteredScriptSystems

Definition at line 57 of file GameWorld.cpp.

◆ Skybox

bs::HSkybox Leviathan::GameWorld::Implementation::Skybox

Definition at line 70 of file GameWorld.cpp.

◆ SkyboxSO

bs::HSceneObject Leviathan::GameWorld::Implementation::SkyboxSO

Definition at line 69 of file GameWorld.cpp.

◆ Sunlight

bs::HLight Leviathan::GameWorld::Implementation::Sunlight

Definition at line 68 of file GameWorld.cpp.

◆ SunlightSO

bs::HSceneObject Leviathan::GameWorld::Implementation::SunlightSO

Definition at line 67 of file GameWorld.cpp.

◆ WorldCamera

bs::HCamera Leviathan::GameWorld::Implementation::WorldCamera

Definition at line 65 of file GameWorld.cpp.

◆ WorldCameraSO

SceneNode::pointer Leviathan::GameWorld::Implementation::WorldCameraSO

Definition at line 64 of file GameWorld.cpp.

◆ WorldScene

Scene::pointer Leviathan::GameWorld::Implementation::WorldScene

Definition at line 74 of file GameWorld.cpp.


The documentation for this class was generated from the following file: