Namespace project & add RemoveComponent

This commit is contained in:
Maple Redleaf
2025-11-11 11:19:31 -06:00
parent af7adaa6f2
commit a730e82247
4 changed files with 22 additions and 3 deletions

View File

@@ -1,4 +1,6 @@
#pragma once
namespace VoidFrame {
class Entity;
class Component {
@@ -12,3 +14,4 @@ public:
private:
Entity *owner;
};
} // namespace VoidFrame

View File

@@ -1,15 +1,20 @@
#ifndef VOID_ENTITY_H
#define VOID_ENTITY_H
#include "component.h"
#include <algorithm>
#include <memory>
#include <utility>
#include <vector>
namespace VoidFrame {
class Entity {
public:
template <typename CompT, typename... Args>
CompT *AddComponent(Args &&...args);
template <typename CompT> CompT *GetComponent();
template <typename CompT> bool HasComponent();
template <typename CompT> void RemoveComponent();
void Update();
@@ -18,4 +23,5 @@ private:
};
#include "../src/entity_i.cpp"
} // namespace VoidFrame
#endif // VOID_ENTITY_H