queue object destruction
This commit is contained in:
@@ -56,6 +56,7 @@ namespace Game {
|
||||
static T* getEntityByName(const std::string& name);
|
||||
template<typename T>
|
||||
static void destroyEntity(T* entity);
|
||||
static void processPendingEntityRemovals();
|
||||
|
||||
private:
|
||||
int mTargetUpdatesPerSecond = TARGET_UPDATE_RATE;
|
||||
@@ -140,7 +141,8 @@ namespace Game {
|
||||
void GameManager::destroyEntity(T* entity) {
|
||||
static_assert(std::is_base_of_v<Object::Entity, T>, "T must derive from Object::Entity");
|
||||
if (entity) {
|
||||
State::GameState::getInstance().removeEntity(entity->getName());
|
||||
entity->setActive(false);
|
||||
State::GameState::getInstance().queueEntityRemoval(entity->getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user