2021-11-27 19:16:41 +00:00
|
|
|
#pragma once
|
2021-11-21 06:23:53 +00:00
|
|
|
|
|
|
|
#include "../destructable.h"
|
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
|
|
#include <GLFW/glfw3.h>
|
|
|
|
|
|
|
|
namespace simpleengine {
|
|
|
|
class Event : public simpleengine::Destructable {
|
|
|
|
public:
|
2021-12-02 21:56:49 +00:00
|
|
|
explicit Event(GLFWwindow* window = nullptr) : window(window) {}
|
2021-11-21 06:23:53 +00:00
|
|
|
virtual ~Event() = default;
|
|
|
|
|
|
|
|
virtual void update(const float& delta_time) = 0;
|
2021-12-02 21:56:49 +00:00
|
|
|
virtual void render(GLFWwindow* target) = 0;
|
2021-11-21 06:23:53 +00:00
|
|
|
protected:
|
2021-12-02 21:56:49 +00:00
|
|
|
GLFWwindow* window;
|
2021-11-21 06:23:53 +00:00
|
|
|
};
|
2021-11-27 19:16:41 +00:00
|
|
|
}
|