blob: 5fee2eb2eb0ab0f6534bf0927bdbfcb35f5ad048 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#pragma once
#include "event.h"
#include "eventHandler.h"
#include "eventManager.h"
class IKeyListener {
public:
virtual ~IKeyListener();
virtual void onKeyPressed(const KeyPressedEvent & event) = 0;
virtual void onKeyReleased(const KeyReleasedEvent & event) = 0;
protected:
void subscribeEvents(int listenerId = 0);
void unsubscribeEvents(int listenerId = 0);
void activate(int listenerId = 0) { subscribeEvents(listenerId); }
void deactivate(int listenerId = 0) { unsubscribeEvents(listenerId); }
private:
EventHandler<KeyPressedEvent> keyPressedHandler;
EventHandler<KeyReleasedEvent> keyReleasedHandler;
};
|