LkEngine 0.1.2
 
Loading...
Searching...
No Matches
KeyEvent.h
1#pragma once
2
3#include "LkEngine/Core/Event/Event.h"
4#include "LkEngine/Core/Input/Keyboard.h"
5
6
7namespace LkEngine {
8
12 class LKeyPressedEvent : public LEvent
13 {
14 public:
15 LKeyPressedEvent() = delete;
16 LKeyPressedEvent(const EKey InKey, const int InRepeatCount)
17 : Key(InKey)
18 , RepeatCount(InRepeatCount)
19 {
20 }
21
22 FORCEINLINE EKey GetKey() const { return Key; }
23 FORCEINLINE int GetRepeatCount() const { return RepeatCount; }
24
25 FORCEINLINE std::string ToString() const override
26 {
27 return LK_FMT_LIB::format("{}: {} (repeat: {})", GetName(), Enum::ToString(Key), RepeatCount);
28 }
29
30 private:
31 EKey Key = EKey::None;
32 int RepeatCount = 0;
33
34 LEVENT(LKeyPressedEvent, KeyPressed);
35 };
36
41 {
42 public:
43 LKeyReleasedEvent() = delete;
44 LKeyReleasedEvent(const EKey InKey) : Key(InKey) {}
45
46 FORCEINLINE std::string ToString() const override
47 {
48 return LK_FMT_LIB::format("{}: {}", GetName(), Enum::ToString(Key));
49 }
50
51 private:
52 EKey Key = EKey::None;
53
54 LEVENT(LKeyReleasedEvent, KeyReleased);
55 };
56
57}
Definition Event.h:71
Definition KeyEvent.h:13
Definition KeyEvent.h:41
Definition Asset.h:11
EKey
Definition Keycodes.h:17