diff --git a/Makefile b/Makefile index aa673e6..3d63bf3 100644 --- a/Makefile +++ b/Makefile @@ -5,8 +5,9 @@ ## Makefile ## -SRC = src/engine.c \ - src/engine_internal.c \ +SRC = src/engine/engine.c \ + src/engine/engine_internal.c \ + src/engine/event_handler.c \ src/component.c \ src/components/movable_component.c @@ -35,4 +36,7 @@ fclean: clean re: fclean all +dbg: CFLAGS += -g +dbg: re + .PHONY: all build clean fclean \ No newline at end of file diff --git a/include/engine.h b/include/engine.h index 8d3f13c..981a0ac 100644 --- a/include/engine.h +++ b/include/engine.h @@ -15,11 +15,12 @@ typedef struct gcEngine { gcRenderer renderer; gcScene *scene; - bool (*is_open)(); + bool (*is_open)(struct gcEngine *engine); int (*game_loop)(struct gcEngine *engine); int (*change_scene)(struct gcEngine *engine, gcScene *scene); } gcEngine; gcEngine *create_engine(char *title); bool engine_is_open(gcEngine *engine); +void handle_events(gcEngine *engine); int change_scene(gcEngine *engine, gcScene *scene); \ No newline at end of file diff --git a/src/engine.c b/src/engine/engine.c similarity index 95% rename from src/engine.c rename to src/engine/engine.c index 6638a90..b045181 100644 --- a/src/engine.c +++ b/src/engine/engine.c @@ -11,6 +11,7 @@ int game_loop(gcEngine *engine) { + handle_events(engine); (void)engine; return (0); } diff --git a/src/engine_internal.c b/src/engine/engine_internal.c similarity index 100% rename from src/engine_internal.c rename to src/engine/engine_internal.c diff --git a/src/engine/event_handler.c b/src/engine/event_handler.c new file mode 100644 index 0000000..c37342f --- /dev/null +++ b/src/engine/event_handler.c @@ -0,0 +1,18 @@ +/* +** EPITECH PROJECT, 2019 +** MUL_my_runner_2019 +** File description: +** event_handler +*/ + +#include "engine.h" + +void handle_events(gcEngine *engine) +{ + sfEvent event; + + while (sfRenderWindow_pollEvent(engine->renderer.window, &event)) { + if (event.type == sfEvtClosed) + sfRenderWindow_close(engine->renderer.window); + } +} \ No newline at end of file