29 lines
664 B
C++
29 lines
664 B
C++
#ifndef LAYER_HPP
|
|
#define LAYER_HPP
|
|
|
|
#include "events/event.hpp"
|
|
#include "core.hpp"
|
|
#include "open_engine/logging.hpp"
|
|
|
|
namespace OpenEngine {
|
|
class OE_API Layer
|
|
{
|
|
public:
|
|
Layer(const std::string& name = "layer");
|
|
virtual ~Layer() = default;
|
|
|
|
virtual void OnAttach() {}
|
|
virtual void OnDetach() {}
|
|
virtual void OnUpdate() {}
|
|
virtual void OnImGuiRender() {}
|
|
virtual void OnEvent(Event& event) {}
|
|
|
|
inline const std::string& GetName() const { return debug_name; }
|
|
|
|
protected:
|
|
std::string debug_name = "";
|
|
};
|
|
}
|
|
|
|
#endif // LAYER_HPP
|