4#include <SDL3_image/SDL_image.h>
5#include <SDL3_mixer/SDL_mixer.h>
10#include "EventManager.h"
11#include "InteractionManager.h"
13#include "SDL3/SDL_events.h"
14#include "SDL3/SDL_init.h"
17#include "InputManager.h"
18#include "RenderManager.h"
19#include "ConfigLoader.h"
20#include "PickupManager.h"
22typedef std::function<void()> gamefunction;
38 SDL_AppResult handleEvent(SDL_Event* event);
39 void update(Uint64 frameTime);
42 bool isRunning()
const;
43 void setRunning(
bool running);
46 SDL_Renderer* renderer =
nullptr;
48 CollisionHandler* collisionHandler;
49 PickupManager* pickupManager;
50 TextureManager* textureManager;
51 SoundManager* soundManager;
52 InputManager* inputManager;
53 RenderManager* renderManager;
54 EventManager* eventManager;
55 InteractionManager* interactionManager;
62 std::vector<Entity*>& tiles;
63 std::vector<Entity*>& players;
64 std::vector<Entity*>& projectiles;
65 std::vector<Entity*>& hearts;
66 std::vector<Entity*>& powerups;
69 void refreshPlayers();
79 Uint64 lastFrameTime = 0;
Class responsible for collision detection and handling.
Definition CollisionHandler.h:32
Class responsible for the creation and management of the map or background.
Definition Map.h:16
Handles music and sound.
Definition SoundManager.h:21
A manager for loading, caching, and drawing textures.
Definition TextureManager.h:25