Zen 0.3.0
Loading...
Searching...
No Matches
ZEN_Layer.h
1#pragma once
2
3#include <zen/core/ZEN_Core.h>
4#include <zen/events/ZEN_Event.h>
5#include <zen/time/ZEN_DeltaTime.h>
6#include <zen/zen_pch.h>
7
8namespace Zen {
9 class Layer : public EventListener {
10 public:
11 Layer(int priority);
12 virtual ~Layer() = default;
13
14 virtual void onAttach() {}
15 virtual void onDetach() {}
16 virtual void onUpdate(DeltaTime deltaTime) {}
17 virtual bool onEvent(const ZenEvent &event) = 0;
18
19 virtual void onGUIRender() {}
20
21 int getPriority() const;
22
23 protected:
24 private:
25 int m_priority;
26 };
27}; // namespace Zen