#pragma once #include "KeyCodes.h" #include #include #include #include "system/CollisionSystem.h" class Event { public: }; class KeyPressEvent : public Event { public: int repeat = 0; Keycode key = Keycode::NONE; }; class KeyReleaseEvent : public Event { public: Keycode key = Keycode::NONE; }; class MousePressEvent : public Event { public: int mouse_x = 0; int mouse_y = 0; MouseButton button = MouseButton::NONE; }; class MouseClickEvent : public Event { public: int mouse_x = 0; int mouse_y = 0; MouseButton button = MouseButton::NONE; }; class MouseReleaseEvent : public Event { public: int mouse_x = 0; int mouse_y = 0; MouseButton button = MouseButton::NONE; }; class MouseMoveEvent : public Event { public: int mouse_x = 0; int mouse_y = 0; }; class CollisionEvent : public Event { public: crepe::CollisionSystem::CollisionInfo info; CollisionEvent(const crepe::CollisionSystem::CollisionInfo& collisionInfo) : info(collisionInfo) {} }; class TextSubmitEvent : public Event { public: std::string text = ""; }; class ShutDownEvent : public Event { public: };