aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/ComponentManager.cpp
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-11-13 16:26:38 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2024-11-13 16:26:38 +0100
commitb63f4700f7bda696afb14cc3111be0f8b0eed458 (patch)
tree08c4b00b249a4fa672d97a5bc79927adac0a0257 /src/crepe/ComponentManager.cpp
parent2933655dea64f11f200f42fe51e58dacc5f160eb (diff)
parent9e87a556a5f68c5f9bb04bef9a66880536ccd6e8 (diff)
merge `loek/tests` into `loek/cleanup` (close #32)
Diffstat (limited to 'src/crepe/ComponentManager.cpp')
-rw-r--r--src/crepe/ComponentManager.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/crepe/ComponentManager.cpp b/src/crepe/ComponentManager.cpp
index 7123905..c6b658c 100644
--- a/src/crepe/ComponentManager.cpp
+++ b/src/crepe/ComponentManager.cpp
@@ -1,13 +1,10 @@
+#include "api/GameObject.h"
#include "util/Log.h"
#include "ComponentManager.h"
using namespace crepe;
-
-ComponentManager & ComponentManager::get_instance() {
- static ComponentManager instance;
- return instance;
-}
+using namespace std;
void ComponentManager::delete_all_components_of_id(game_object_id_t id) {
// Loop through all the types (in the unordered_map<>)
@@ -26,5 +23,15 @@ void ComponentManager::delete_all_components() {
}
ComponentManager::ComponentManager() { dbg_trace(); }
-
ComponentManager::~ComponentManager() { dbg_trace(); }
+
+GameObject & ComponentManager::new_object(const string & name,
+ const string & tag,
+ const Vector2 & position,
+ double rotation, double scale) {
+ GameObject * object = new GameObject(*this, this->next_id, name, tag,
+ position, rotation, scale);
+ this->objects.push_front(unique_ptr<GameObject>(object));
+ this->next_id++;
+ return *object;
+}