100 lines
3.0 KiB
Markdown
100 lines
3.0 KiB
Markdown
# Gnome’s Bounty - Architecture Documentation
|
||
|
||
## Project Structure
|
||
|
||
```
|
||
Assets/
|
||
├── Scripts/
|
||
│ ├── Controllers/
|
||
│ │ ├── PlayerController.cs
|
||
│ │ ├── TrollController.cs
|
||
│ │ └── GameManager.cs
|
||
│ ├── Managers/
|
||
│ │ ├── InputManager.cs
|
||
│ │ ├── AudioManager.cs
|
||
│ │ └── UIManager.cs
|
||
│ │ └── GameManager.cs
|
||
│ ├── Mechanics/
|
||
│ │ ├── AxeThrower.cs
|
||
│ │ ├── BreakableBlock.cs
|
||
│ │ └── TreasureCollector.cs
|
||
│ ├── UI/
|
||
│ │ ├── HUD.cs
|
||
│ │ ├── KeyUI.cs
|
||
│ │ └── ExitDoorUI.cs
|
||
│ └── Utilities/
|
||
│ ├── TrollSpawner.cs
|
||
│ └── LevelManager.cs
|
||
├── Prefabs/
|
||
│ ├── Player.prefab
|
||
│ ├── Troll.prefab
|
||
│ ├── Axe.prefab
|
||
│ ├── BreakableBlock.prefab
|
||
│ ├── Treasure.prefab
|
||
│ ├── Chest.prefab
|
||
│ ├── ExitDoor.prefab
|
||
│ └── TrollCave.prefab
|
||
├── Scenes/
|
||
│ ├── MainScene.unity
|
||
│ └── Level1.unity
|
||
├── Resources/
|
||
│ ├── Sprites/
|
||
│ │ ├── Player.png
|
||
│ │ ├── Troll.png
|
||
│ │ ├── Axe.png
|
||
│ │ ├── BreakableBlock.png
|
||
│ │ ├── Treasure.png
|
||
│ │ ├── Chest.png
|
||
│ │ └── ExitDoor.png
|
||
│ ├── Audio/
|
||
│ │ ├── Footsteps.mp3
|
||
│ │ ├── StunSound.wav
|
||
│ │ ├── BlockBreak.mp3
|
||
│ │ ├── KeyCollect.mp3
|
||
│ │ └── LevelComplete.mp3
|
||
├── Editor/
|
||
│ ├── CustomEditorScripts/
|
||
│ │ ├── PlayerControllerEditor.cs
|
||
│ │ └── TrollControllerEditor.cs
|
||
├── Documentation/
|
||
│ └── Architecture.md
|
||
└── README.md
|
||
```
|
||
|
||
## Key Components and Systems
|
||
|
||
### Player Controller
|
||
- **Responsibilities**: Handles player movement (left/right, climbing, jumping).
|
||
- **Interactions**: Interacts with the magical throwing axe.
|
||
|
||
### Troll Controller
|
||
- **Responsibilities**: Manages troll behavior (patrol, chase, stun recovery).
|
||
- **Spawning**: Spawns trolls from the troll cave.
|
||
|
||
### GameManager
|
||
- **Responsibilities**: Manages game state (level progression, score, lives).
|
||
|
||
### InputManager
|
||
- **Responsibilities**: Handles player input for movement and axe throwing.
|
||
|
||
### AudioManager
|
||
- **Responsibilities**: Plays sound effects and background music.
|
||
|
||
### UIManager
|
||
- **Responsibilities**: Manages the heads-up display (HUD) and UI elements like keys and exit doors.
|
||
|
||
### AxeThrower
|
||
- **Responsibilities**: Handles the mechanics of throwing the magical axe.
|
||
- **Stunning**: Stuns trolls and breaks blocks.
|
||
|
||
### BreakableBlock
|
||
- **Responsibilities**: Manages breakable blocks, including their destruction and sound effects.
|
||
|
||
### TreasureCollector
|
||
- **Responsibilities**: Tracks treasure collected by the player.
|
||
|
||
### TrollSpawner
|
||
- **Responsibilities**: Spawns trolls at timed intervals from the troll cave.
|
||
|
||
### LevelManager
|
||
- **Responsibilities**: Manages level transitions and loading. |