#pragma once #include <cstdint> #include <string> namespace crepe { class GameObject { public: GameObject(uint32_t id, std::string name, std::string tag, int layer); template <typename T, typename... Args> T & add_component(Args &&... args); uint32_t id; std::string name; std::string tag; bool active; int layer; }; } // namespace crepe #include "GameObject.hpp"