Begin implementation of Entities

This commit is contained in:
Maple Redleaf
2025-11-10 10:31:25 -06:00
parent 63477b20f5
commit 9d9a574b87
6 changed files with 30 additions and 3 deletions

0
.gitignore vendored Normal file
View File

View File

@@ -4,10 +4,10 @@ project(VoidEngine VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
file(GLOB_RECURSE SOURCE_FILES "src/*.cpp" "include/*.h")
add_library(${PROJECT_NAME} add_library(${PROJECT_NAME}
STATIC STATIC ${SOURCE_FILES}
src/*.cpp
include/*.hpp
) )
target_include_directories(${PROJECT_NAME} target_include_directories(${PROJECT_NAME}

View File

@@ -1,3 +1,4 @@
#pragma once
class Entity; class Entity;
class Component { class Component {

22
include/entity.h Normal file
View File

@@ -0,0 +1,22 @@
#ifndef VOID_ENTITY_H
#define VOID_ENTITY_H
#include "component.h"
#include <vector>
class Entity {
public:
template <typename CompT, typename... Args>
CompT *AddComponent(Args &&...args);
void Init();
void Draw();
void Update();
void FixedUpdate();
void Destroy();
private:
std::vector<Component> components;
};
#include "../src/entity_i.cpp"
#endif // VOID_ENTITY_H

1
src/entity.cpp Normal file
View File

@@ -0,0 +1 @@
#include "../include/entity.h"

3
src/entity_i.cpp Normal file
View File

@@ -0,0 +1,3 @@
#ifndef VOID_ENTITY_H
#include "../include/entity.h"
#endif