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...
bs::HSceneObject WorldCameraSO
bs::HCamera WorldCamera
bs::HSceneObject SunlightSO
bs::HLight Sunlight
bs::HSceneObject SkyboxSO
bs::HSkybox Skybox

Static Public Attributes

static int LayerNumber = 0
 A temporary solution around no multiple scenes in BSF. More...

Detailed Description

Definition at line 46 of file GameWorld.cpp.

Constructor & Destructor Documentation

◆ ~Implementation()

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

Definition at line 48 of file GameWorld.cpp.

49  {
50  // Check that there are no external references to these
51  for(const auto& tuple : RegisteredScriptComponents) {
53  if(tuple.second->GetRefCount() != 1) {
55  LOG_FATAL("GameWorld: ImplRelease: RegisteredScriptComponent (holder): has "
56  "external refs, count: " +
57  std::to_string(tuple.second->GetRefCount()));
58  }
59  }
60  }
#define LOG_FATAL(x)
Definition: Define.h:92
std::map< std::string, ScriptComponentHolder::pointer > RegisteredScriptComponents
Definition: GameWorld.cpp:62

Member Data Documentation

◆ LayerNumber

int Leviathan::GameWorld::Implementation::LayerNumber = 0

A temporary solution around no multiple scenes in BSF.

Definition at line 79 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 67 of file GameWorld.cpp.

◆ RegisteredScriptComponents

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

Definition at line 62 of file GameWorld.cpp.

◆ RegisteredScriptSystems

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

Definition at line 63 of file GameWorld.cpp.

◆ Skybox

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

Definition at line 76 of file GameWorld.cpp.

◆ SkyboxSO

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

Definition at line 75 of file GameWorld.cpp.

◆ Sunlight

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

Definition at line 74 of file GameWorld.cpp.

◆ SunlightSO

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

Definition at line 73 of file GameWorld.cpp.

◆ WorldCamera

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

Definition at line 71 of file GameWorld.cpp.

◆ WorldCameraSO

bs::HSceneObject Leviathan::GameWorld::Implementation::WorldCameraSO

Definition at line 70 of file GameWorld.cpp.

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