Merge remote-tracking branch 'refs/remotes/origin/master' into physics-refactor

This commit is contained in:
Lynix 2016-10-13 08:32:36 +02:00
commit 1fdda6b07c
3 changed files with 15 additions and 1 deletions

View File

@ -27,6 +27,7 @@ namespace Ndk
static SystemIndex systemIndex;
private:
void CreatePhysWorld() const;
void OnEntityValidation(Entity* entity, bool justAdded) override;
void OnUpdate(float elapsedTime) override;

View File

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

View File

@ -41,6 +41,13 @@ namespace Ndk
{
}
void PhysicsSystem::CreatePhysWorld() const
{
NazaraAssert(!m_world, "Physics world should not be created twice");
m_world = std::make_unique<Nz::PhysWorld>();
}
/*!
* \brief Operation to perform when entity is validated for the system
*
@ -62,7 +69,7 @@ namespace Ndk
entities.Insert(entity);
if (!m_world)
m_world = std::make_unique<Nz::PhysWorld3D>();
CreatePhysWorld();
}
/*!