aboutsummaryrefslogtreecommitdiff
path: root/mwe/ecs-homemade/src/ComponentManager.cpp
blob: 16cc2b66ccb61ed015d2cb0ee9e222ba63d82cd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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<>
}