From 07b5a8df79abcb4f3c2ad0b4e59c0f38c54bffc7 Mon Sep 17 00:00:00 2001 From: Edgaru089 Date: Mon, 4 Mar 2024 13:41:01 +0800 Subject: [PATCH] Functions for App --- App.c | 32 ++++++++++++++++++++++++++++++++ App.h | 7 +++++++ 2 files changed, 39 insertions(+) create mode 100644 App.c diff --git a/App.c b/App.c new file mode 100644 index 0000000..ed61454 --- /dev/null +++ b/App.c @@ -0,0 +1,32 @@ + +#include "App.h" +#include "Input.h" +#include "Physics_Component.h" +#include "Player_Component.h" +#include + + +App *app_NewApp() { + App *app = malloc(sizeof(App)); + + app->input = input_NewSystem(app); + app->physics = physics_NewSystem(app); + app->player = player_NewSystem(app); + + return app; +} + +void app_DeleteApp(App *app) { + input_DeleteSystem(app->input); + physics_DeleteSystem(app->physics); + player_DeleteSystem(app->player); + + free(app); +} + + +void app_Advance(App *app, Duration deltaTime) { + input_Advance(app->input); + player_Advance(app->player, deltaTime); + physics_Advance(app->physics, deltaTime); +} diff --git a/App.h b/App.h index 9ddb249..7ae70c4 100644 --- a/App.h +++ b/App.h @@ -4,6 +4,7 @@ #include "Physics_Component.h" #include "Player_Component.h" #include "Input.h" +#include "Types.h" typedef struct _App { @@ -11,3 +12,9 @@ typedef struct _App { System_Player *player; System_Input *input; } App; + +App *app_NewApp(); +void app_DeleteApp(App *app); + +void app_Advance(App *app, Duration deltaTime); +void app_Render();