Monad Engine da02fba2
> Undercity Codex_
Loading...
Searching...
No Matches
Monad.h
Go to the documentation of this file.
1/**
2 * @file Monad.h
3 * @brief Umbrella include for the entire Engine library.
4 *
5 * Game / application code should include only this header.
6 * It transitively pulls in every public engine subsystem:
7 *
8 * | Include pulled in | What it gives you |
9 * |----------------------------|------------------------------------------------|
10 * | Application.h | Base class to subclass for your game loop |
11 * | Engine.h | Singleton that owns all subsystems |
12 * | Types.h | Primitive type aliases (f32, vec3, mat4 …) |
13 * | Log.h | LOG_INFO / LOG_WARN / LOG_ERROR / LOG_FATAL |
14 * | Common.h | CameraData, LightData transfer structs |
15 * | graphics/GraphicsAPI.h | Low-level GL wrapper (shaders, buffers) |
16 * | graphics/ShaderProgram.h | GLSL program + uniform upload |
17 * | graphics/Texture.h | 2D texture + TextureManager cache |
18 * | graphics/VertexLayout.h | VBO attribute layout description |
19 * | input/InputManager.h | Keyboard + mouse polling |
20 * | io/FileReader.h | Simple file reader utility |
21 * | io/FileSystem.h | Asset-relative path resolution |
22 * | physics/PhysicsManager.h | Bullet world singleton + step |
23 * | physics/RigidBody.h | Rigid body wrapper |
24 * | physics/Collider.h | Collision shape wrapper |
25 * | render/Builder.h | MeshData factory helpers |
26 * | render/Material.h | Shader + uniform container |
27 * | render/Mesh.h | GPU mesh (VAO/VBO/EBO) |
28 * | render/RenderQueue.h | Per-frame command submission + draw |
29 * | scene/Component.h | Base component + COMPONENT macro |
30 * | scene/GameObject.h | Scene node with transform + components |
31 * | scene/Scene.h | Owns the object graph, camera, lights |
32 * | scene/components/… | Built-in components (camera, mesh, light …) |
33 */
34
35#pragma once
36
37#include "Application.h"
38#include "Common.h"
39#include "Engine.h"
40#include "Log.h"
41#include "Types.h"
42#include "audio/AudioManager.h"
43#include "graphics/GraphicsAPI.h"
44#include "graphics/ShaderProgram.h"
45#include "graphics/Texture.h"
46#include "graphics/VertexLayout.h"
47#include "input/InputManager.h"
48#include "io/FileReader.h"
49#include "io/FileSystem.h"
50#include "physics/Collider.h"
51#include "physics/CollisionObject.h"
52#include "physics/KinematicCharacterController.h"
53#include "physics/PhysicsManager.h"
54#include "physics/RigidBody.h"
55#include "render/Builder.h"
56#include "render/Material.h"
57#include "render/Mesh.h"
58#include "render/RenderQueue.h"
60#include "scene/Component.h"
61#include "scene/GameObject.h"
62#include "scene/Scene.h"
63#include "scene/components/AnimationComponent.h"
64#include "scene/components/CameraComponent.h"
66#include "scene/components/LightComponent.h"
67#include "scene/components/MeshComponent.h"
68#include "scene/components/PhysicsComponent.h"
69#include "scene/components/PlayerControllerComponent.h"
Static factory methods for creating common primitive mesh shapes.
Thin wrapper around std::ifstream for reading a single file.
Universal HP sink: damageable + killable game objects.
Console logging macros for all engine and game code.
Engine-wide primitive type aliases and GLM math imports.
Abstract base class for the user-defined game or lab application.
Lightweight data-transfer structs shared across subsystems.
Central singleton that owns and coordinates all engine subsystems.