#include "ComponentManager.h"

ComponentManager ComponentManager::mInstance;

ComponentManager& ComponentManager::GetInstance() {
	return mInstance;
}

ComponentManager::ComponentManager() {}

void ComponentManager::DeleteAllComponentsOfId(std::uint32_t id) {
    for(auto& [type, componentArray] : mComponents) {	//Loop through all the types (in the unordered_map<>)
        if (id < componentArray.size()) {	//Make sure that the id (that we are looking for) is within the boundaries of the vector<>
            componentArray[id].clear();	//Clear the components at this specific id
        }
    }
}

void ComponentManager::DeleteAllComponents() {
	mComponents.clear();	//Clear the whole unordered_map<>
}