# bali78456/escape_the_maze architecture

> Architecture diagram of the GitHub repository bali78456/escape_the_maze, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/bali78456/escape_the_maze
- Repository: https://github.com/bali78456/escape_the_maze

## Overview

Escape The Maze is a Unity 6 top-down 3D maze-escape shooter. Its asset tree indicates distinct menu/gameplay, maze, player, enemy, weapon, pickup, UI, camera, and audio subsystems. The README establishes the product description, but no source excerpts were provided; therefore internal calls, scene wiring, and subsystem relationships cannot be verified, and the graph omits edges rather than implying a runtime pipeline.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gameflow["Game Flow"]
  node_mainmenu["Main Menu<br/>[MainMenuManager.cs]"]
  node_game["Game State<br/>[GameManager.cs]"]
  node_pause["Pause Menu"]
  node_clearmenu["Clear Menu"]
  node_stage["Stage Scene<br/>[Stage.unity]"]
end

subgraph group_world["Maze World"]
  node_maze["Maze Generation<br/>[MazeGenerator.cs]"]
  node_cell["Maze Cell<br/>[MazeCell.cs]"]
  node_exit["Exit Zone<br/>[ExitZone.cs]"]
end

subgraph group_combat["Player Combat"]
  node_player_move["Player Movement<br/>[PlayerMovement.cs]"]
  node_player_health["Player Health<br/>[PlyaerHealth.cs]"]
  node_player_gun["Player Gun<br/>[PlayerGun.cs]"]
  node_gun["Weapon Logic<br/>[Gun.cs]"]
  node_bullet["Projectile<br/>[Bullet.cs]"]
  node_enemy_ai["Enemy AI<br/>[EnemyAI.cs]"]
  node_enemy_move["Enemy Movement<br/>[EnemyMovement.cs]"]
  node_enemy_health["Enemy Health<br/>[EnemyHealth.cs]"]
  node_enemy_gun["Enemy Gun<br/>[EnemyGun.cs]"]
  node_spawner["Enemy Spawner<br/>[EnemySpawner.cs]"]
end

subgraph group_support["Gameplay Support"]
  node_camera["Camera Follow<br/>[CameraMovement.cs]"]
  node_minimap["Minimap<br/>[MinimapManager.cs]"]
  node_heal["Healing Pickup<br/>[HealPack.cs]"]
  node_ui["Gameplay UI<br/>[UIManager.cs]"]
  node_pool["Object Pool"]
  node_sound["Sound Manager<br/>[SoundManager.cs]"]
  node_gun_data["Gun Data<br/>[GunData.cs]"]
  node_enemy_data["Enemy Data<br/>[EnemyData.cs]"]
end

node_player(("Player"))

click node_mainmenu "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/MainMenuManager.cs"
click node_game "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/GameManager.cs"
click node_pause "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/PauseMenuManager.cs"
click node_clearmenu "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/ClearMenuManager.cs"
click node_stage "https://github.com/bali78456/escape_the_maze/blob/main/Assets/01.%20Scenes/Stage.unity"
click node_maze "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Map/MazeGenerator.cs"
click node_cell "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Map/MazeCell.cs"
click node_exit "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Map/ExitZone.cs"
click node_player_move "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/PlayerMove/PlayerMovement.cs"
click node_player_health "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/PlayerMove/PlyaerHealth.cs"
click node_player_gun "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Gun/PlayerGun.cs"
click node_gun "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Gun/Gun.cs"
click node_bullet "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Gun/Bullet.cs"
click node_enemy_ai "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Enemy/EnemyAI.cs"
click node_enemy_move "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Enemy/EnemyMovement.cs"
click node_enemy_health "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Enemy/EnemyHealth.cs"
click node_enemy_gun "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Gun/EnemyGun.cs"
click node_spawner "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Enemy/EnemySpawner.cs"
click node_camera "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/CameraMove/CameraMovement.cs"
click node_minimap "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/MinimapManager.cs"
click node_heal "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/PlayerMove/HealPack.cs"
click node_ui "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/UIManager.cs"
click node_pool "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/ObjectPoolManager.cs"
click node_sound "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/SoundManager.cs"
click node_gun_data "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/ScriptableObjects/GunData.cs"
click node_enemy_data "https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/ScriptableObjects/EnemyData.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_mainmenu,node_game,node_pause,node_clearmenu,node_stage toneBlue
class node_maze,node_cell,node_exit toneAmber
class node_player_move,node_player_health,node_player_gun,node_gun,node_bullet,node_enemy_ai,node_enemy_move,node_enemy_health,node_enemy_gun,node_spawner toneMint
class node_camera,node_minimap,node_heal,node_ui,node_pool,node_sound,node_gun_data,node_enemy_data toneRose
class node_player toneIndigo
```

## Components

### Game Flow

- [Main Menu](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/MainMenuManager.cs): `Assets/02. Scripts/Manager/MainMenuManager.cs`
- [Game State](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/GameManager.cs): `Assets/02. Scripts/Manager/GameManager.cs`
- [Pause Menu](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/PauseMenuManager.cs): `Assets/02. Scripts/Manager/PauseMenuManager.cs`
- [Clear Menu](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/ClearMenuManager.cs): `Assets/02. Scripts/Manager/ClearMenuManager.cs`
- [Stage Scene](https://github.com/bali78456/escape_the_maze/blob/main/Assets/01.%20Scenes/Stage.unity): `Assets/01. Scenes/Stage.unity`

### Maze World

- [Maze Generation](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Map/MazeGenerator.cs): `Assets/02. Scripts/Map/MazeGenerator.cs`
- [Maze Cell](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Map/MazeCell.cs): `Assets/02. Scripts/Map/MazeCell.cs`
- [Exit Zone](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Map/ExitZone.cs): `Assets/02. Scripts/Map/ExitZone.cs`

### Player Combat

- [Player Movement](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/PlayerMove/PlayerMovement.cs): `Assets/02. Scripts/PlayerMove/PlayerMovement.cs`
- [Player Health](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/PlayerMove/PlyaerHealth.cs): `Assets/02. Scripts/PlayerMove/PlyaerHealth.cs`
- [Player Gun](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Gun/PlayerGun.cs): `Assets/02. Scripts/Gun/PlayerGun.cs`
- [Weapon Logic](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Gun/Gun.cs): `Assets/02. Scripts/Gun/Gun.cs`
- [Projectile](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Gun/Bullet.cs): `Assets/02. Scripts/Gun/Bullet.cs`
- [Enemy AI](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Enemy/EnemyAI.cs): `Assets/02. Scripts/Enemy/EnemyAI.cs`
- [Enemy Movement](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Enemy/EnemyMovement.cs): `Assets/02. Scripts/Enemy/EnemyMovement.cs`
- [Enemy Health](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Enemy/EnemyHealth.cs): `Assets/02. Scripts/Enemy/EnemyHealth.cs`
- [Enemy Gun](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Gun/EnemyGun.cs): `Assets/02. Scripts/Gun/EnemyGun.cs`
- [Enemy Spawner](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Enemy/EnemySpawner.cs): `Assets/02. Scripts/Enemy/EnemySpawner.cs`

### Gameplay Support

- [Camera Follow](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/CameraMove/CameraMovement.cs): `Assets/02. Scripts/CameraMove/CameraMovement.cs`
- [Minimap](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/MinimapManager.cs): `Assets/02. Scripts/Manager/MinimapManager.cs`
- [Healing Pickup](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/PlayerMove/HealPack.cs): `Assets/02. Scripts/PlayerMove/HealPack.cs`
- [Gameplay UI](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/UIManager.cs): `Assets/02. Scripts/Manager/UIManager.cs`
- [Object Pool](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/ObjectPoolManager.cs): `Assets/02. Scripts/Manager/ObjectPoolManager.cs`
- [Sound Manager](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/Manager/SoundManager.cs): `Assets/02. Scripts/Manager/SoundManager.cs`
- [Gun Data](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/ScriptableObjects/GunData.cs): `Assets/02. Scripts/ScriptableObjects/GunData.cs`
- [Enemy Data](https://github.com/bali78456/escape_the_maze/blob/main/Assets/02.%20Scripts/ScriptableObjects/EnemyData.cs): `Assets/02. Scripts/ScriptableObjects/EnemyData.cs`

### Other components

- **Player**
