Sdk/PhysicsSystem: Fix GetWorld() not initializing the internal world

This commit is contained in:
Lynix
2016-10-13 08:30:33 +02:00
parent debf87e739
commit 01cd9b220f
3 changed files with 16 additions and 2 deletions

View File

@@ -27,12 +27,13 @@ namespace Ndk
static SystemIndex systemIndex;
private:
void CreatePhysWorld() const;
void OnEntityValidation(Entity* entity, bool justAdded) override;
void OnUpdate(float elapsedTime) override;
EntityList m_dynamicObjects;
EntityList m_staticObjects;
std::unique_ptr<Nz::PhysWorld> m_world; ///TODO: std::optional (Should I make a Nz::Optional class?)
mutable std::unique_ptr<Nz::PhysWorld> m_world; ///TODO: std::optional (Should I make a Nz::Optional class?)
};
}

View File

@@ -11,6 +11,9 @@ namespace Ndk
inline Nz::PhysWorld& PhysicsSystem::GetWorld()
{
if (!m_world)
CreatePhysWorld();
return *m_world;
}
@@ -21,6 +24,9 @@ namespace Ndk
inline const Nz::PhysWorld& PhysicsSystem::GetWorld() const
{
if (!m_world)
CreatePhysWorld();
return *m_world;
}
}