LkEngine 0.1.2
 
Loading...
Searching...
No Matches
Layer.h
Go to the documentation of this file.
1
5#pragma once
6
9#include "LkEngine/Core/LObject/ObjectPtr.h"
10
11#include "LkEngine/Core/Event/Event.h"
12
13namespace LkEngine {
14
22 class LLayer : public LObject
23 {
24 public:
25 LLayer(std::string_view InName = "Layer");
26 virtual ~LLayer() = default;
27
28 virtual void OnAttach() {}
29 virtual void OnDetach() {}
30
31 virtual void Tick(const float DeltaTime) = 0;
32 virtual void RenderUI() {};
33
34 virtual void OnEvent(LEvent& Event) { LK_UNUSED(Event); }
35
36 FORCEINLINE std::string_view GetName() const { return Name; }
37
38 protected:
39 std::string Name{};
40 private:
42 };
43}
Core header.
LObject implementation.
Definition Event.h:71
Definition Layer.h:23
Definition Object.h:46
#define LCLASS(Class)
Definition CoreMacros.h:226
Definition Asset.h:11