Scenes Overzicht
Alle scenes in de game en hun functie.
Scene Map
┌─────────────┐
│ Main Menu │
└──────┬──────┘
│
┌────────────────┼────────────────┐
│ │ │
▼ ▼ ▼
┌────────────┐ ┌────────────┐ ┌────────────┐
│ Character │ │ Game │ │ Map │
│ Builder │ │ (Home) │ │ Designer │
└─────┬──────┘ └─────┬──────┘ └────────────┘
│ │
│ ┌─────┴─────┐
│ │ │
▼ ▼ ▼
┌────────────┐ ┌───────────┐ ┌─────────────┐
│ Game │ │ Boomhut │ │ Zevensprong │
│ (Home) │ │ (Interior)│ │ (Hub) │
└────────────┘ └───────────┘ └─────────────┘
│
┌──────┴──────┐
│ │
▼ ▼
┌───────────┐ ┌───────────┐
│ Village │ │ Forest │
└───────────┘ └───────────┘
Scenes Lijst
Core Scenes
| Scene | Bestand | Beschrijving |
|---|---|---|
| Main Menu | main_menu.tscn | Startscherm met navigatie |
| Character Builder | character_builder.tscn | Karakter customization |
| Game (Home) | game.tscn | Hoofd gameplay scene |
| Boomhut | boomhut.tscn | Treehouse interior |
| Zevensprong | zevensprong.tscn | World hub/kruispunt |
Tools
| Scene | Bestand | Beschrijving |
|---|---|---|
| Map Designer | map_designer.tscn | Map creation tool |
| Map Browser | map_browser.tscn | Community maps browser |
| Walkable Editor | walkable_editor.tscn | Walkable area painter |
UI Scenes
| Scene | Bestand | Beschrijving |
|---|---|---|
| Inventory Panel | ui/inventory_panel.tscn | Inventory UI |
| Item Slot | ui/item_slot.tscn | Draggable item slot |
| Storage UI | ui/storage_ui.tscn | Bank/chest interface |
| Resource HUD | ui/resource_hud.tscn | Currency display |
Scene Navigatie
Standaard Flow
# Van main menu naar game
func _on_play_pressed() -> void:
if GameState.get_character().size() > 0:
get_tree().change_scene_to_file("res://scenes/game.tscn")
else:
get_tree().change_scene_to_file("res://scenes/character_builder.tscn")
Met Fade Transition
func _transition_to_scene(path: String) -> void:
var tween = create_tween()
tween.tween_property(fade_rect, "color:a", 1.0, 0.5)
tween.tween_callback(func():
get_tree().change_scene_to_file(path)
)
Scene State Behouden
# Opslaan bij verlaten
func _exit_tree() -> void:
GameState.set_scene_state("res://scenes/game.tscn", character.position)
# Herstellen bij laden
func _ready() -> void:
if GameState.get_saved_scene() == "res://scenes/game.tscn":
var pos = GameState.get_saved_position()
if pos != Vector2.ZERO:
character.position = pos
Scene Structuur Template
SceneRoot (Control of Node2D)
│
├── Background
│ └── BackgroundSprite
│
├── World (voor Node2D scenes)
│ ├── TileMap
│ ├── Objects
│ └── Characters
│
├── Character
│ ├── BodySprite
│ ├── ClothesSprite
│ ├── FaceSprite
│ └── HairSprite
│
├── UI (CanvasLayer)
│ ├── HUD
│ ├── Menus
│ └── Dialogs
│
└── FadeRect (voor transities)