12#include <SDL2/SDL_events.h>
13#include <SDL2/SDL_image.h>
14#include <SDL2/SDL_mixer.h>
15#include <SDL2/SDL_mouse.h>
16#include <SDL2/SDL_ttf.h>
Defines global constants and enums used throughout the engine and game.
Defines the core classes for the Entity-Component-System (ECS) architecture.
ComponentID getComponentTypeID() noexcept
Gets the unique ID for a given component type.
Definition ECS.h:39
Defines a simple 2D vector class for position and velocity calculations.
The central class responsible for the game loop, window creation, and event handling.
Definition Game.h:21
void render()
Renders all game objects to the screen.
static bool mouseButtonPressed
True if the primary mouse button is currently pressed.
Definition Game.h:38
static void setPause(bool pause)
Sets the paused state of the game.
void init(const char *title, int xpos, int ypos, int width, int height, bool fullscreen)
Initializes the SDL window, renderer, and subsystems.
void update()
Updates the state of the game world.
static const bool getPaused()
Gets the current paused state of the game.
static float timeScale
A factor to scale time, allowing for slow-motion or fast-forward effects.
Definition Game.h:34
static SDL_Event event
The global SDL event object.
Definition Game.h:35
static SDL_Point mouseCoords
The current screen coordinates of the mouse.
Definition Game.h:37
void clean()
Cleans up resources and shuts down SDL.
static float deltaTime
The time in seconds it took to complete the last frame.
Definition Game.h:32
void handleEvents()
Processes SDL events such as keyboard input and window closure.
void ghostSpawn()
Placeholder function for ghost spawning logic.
~Game()
Game deconstructor.
static SDL_Renderer * renderer
The global SDL renderer.
Definition Game.h:36
bool running()
Checks if the game loop is currently running.
Definition Game.h:75
A general-purpose object in the game world.
Definition ECS.h:84