Files
Gnome-s-Bounty/Assets/Docs/Architecture.md
T

100 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gnomes 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.