#pragma once #include #include class GameObject { public: GameObject(std::uint32_t id, std::string name, std::string tag, int layer); template void addSpriteComponent(Args &&... args); template void addRigidbodyComponent(Args &&... args); template void addColiderComponent(Args &&... args); std::uint32_t mId; std::string mName; std::string mTag; bool mActive; int mLayer; };