2020-07-03 03:48:58 +00:00
|
|
|
//
|
|
|
|
// Created by SeanOMik on 7/2/2020.
|
|
|
|
// Github: https://github.com/SeanOMik
|
|
|
|
// Email: seanomik@gmail.com
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef SIMPLEENGINE_EVENT_H
|
|
|
|
#define SIMPLEENGINE_EVENT_H
|
|
|
|
|
|
|
|
#include <SFML/Graphics.hpp>
|
|
|
|
|
|
|
|
namespace simpleengine {
|
|
|
|
class Event {
|
|
|
|
public:
|
|
|
|
explicit Event(sf::RenderWindow* window = nullptr) : window(window) {}
|
|
|
|
virtual ~Event() = default;
|
|
|
|
|
2021-03-12 23:08:20 +00:00
|
|
|
// Check if this event is quitting.
|
|
|
|
virtual const bool& IsQuitting() {
|
2020-07-03 03:48:58 +00:00
|
|
|
return quit;
|
|
|
|
}
|
|
|
|
|
2021-03-12 23:08:20 +00:00
|
|
|
// Quit the event at next tick.
|
|
|
|
virtual void Quit() {
|
|
|
|
quit = true;
|
|
|
|
}
|
|
|
|
|
2020-07-03 03:48:58 +00:00
|
|
|
// Abstract methods
|
2021-03-12 23:08:20 +00:00
|
|
|
//virtual void CheckForQuit() = 0; // Ran every Update to check if we're gonna quit.
|
|
|
|
//virtual void Quiting() {} // Ran when a State is about to be destroyed.
|
2020-07-03 03:48:58 +00:00
|
|
|
virtual void Update(const float& delta_time) = 0;
|
2020-07-03 18:34:22 +00:00
|
|
|
virtual void Render(sf::RenderTarget* target) = 0;
|
2020-07-03 03:48:58 +00:00
|
|
|
protected:
|
|
|
|
sf::RenderWindow* window;
|
|
|
|
bool quit = false;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //GAMEENGINE_EVENT_H
|