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