#ifndef NATIVE_SCRIPTABLE_ENTITY_HPP #define NATIVE_SCRIPTABLE_ENTITY_HPP #include "open_engine/scene/native_scriptable_entity.hpp" #include "open_engine/scene/entity.hpp" namespace OpenEngine { class NativeScriptableEntity { public: virtual ~NativeScriptableEntity() = default; template T& GetComponent() { return entity.GetComponents(); }; template bool HasComponent() { return entity.HasComponent(); }; protected: virtual void OnCreate() {}; virtual void OnUpdate() {}; virtual void OnDestroy() {}; private: Entity entity; friend class Scene; }; } #endif // NATIVE_SCRIPTABLE_ENTITY_HPP