World: Rename Update() to Refresh()

Also updated comment block
This commit is contained in:
Jérôme Leclercq 2018-02-08 14:32:53 +01:00
parent ac06d5884c
commit 555817e3ee
4 changed files with 26 additions and 21 deletions

View File

@ -94,6 +94,7 @@ Nazara Development Kit:
- Fix TextAreaWidget::Clear crash
- Add ConstraintComponent2D class
- Fix CollisionComponent3D initialization (teleportation to their real coordinates) which could sometimes mess up the physics scene.
- ⚠️ Renamed World::Update() to World::Refresh() for more clarity and to differentiate it from World::Update(elapsedTime)
# 0.4:

View File

@ -64,8 +64,9 @@ namespace Ndk
inline void RemoveSystem(SystemIndex index);
template<typename SystemType> void RemoveSystem();
void Update();
inline void Update(float elapsedTime);
void Refresh();
void Update(float elapsedTime);
World& operator=(const World&) = delete;
inline World& operator=(World&& world) noexcept;

View File

@ -278,21 +278,6 @@ namespace Ndk
RemoveSystem(index);
}
/*!
* \brief Updates the world
*
* \param elapsedTime Delta time used for the update
*/
inline void World::Update(float elapsedTime)
{
Update(); //< Update entities
// And then update systems
for (auto& systemPtr : m_orderedSystems)
systemPtr->Update(elapsedTime);
}
/*!
* \brief Moves a world into another world object
* \return A reference to the object

View File

@ -166,12 +166,16 @@ namespace Ndk
}
/*!
* \brief Updates the world
* \brief Refreshes the world
*
* This function will perform all pending operations in the following order:
* - Reorder systems according to their update order if needed
* - Moving newly created entities (whose which allocate never-used id) data and handles to normal entity list, this will invalidate references to world EntityHandle
* - Destroying dead entities and allowing their ids to be used by newly created entities
* - Update dirty entities, destroying their removed components and filtering them along systems
*
* \remark Produces a NazaraAssert if an entity is invalid
*/
void World::Update()
void World::Refresh()
{
if (!m_orderedSystemsUpdated)
ReorderSystems();
@ -248,6 +252,20 @@ namespace Ndk
m_dirtyEntities.Reset();
}
/*!
* \brief Updates the world
*
* \param elapsedTime Delta time used for the update
*/
void World::Update(float elapsedTime)
{
Refresh(); //< Update entities
// And then update systems
for (auto& systemPtr : m_orderedSystems)
systemPtr->Update(elapsedTime);
}
void World::ReorderSystems()
{
m_orderedSystems.clear();