Files
aventuriers-des-mots/scenes/world/mission_intro.gd
T
Denis Defolie 97a065879c Visual overhaul: theme, illustrations, redesigned screens (0.3.0)
Phase "habillage" of the post-0.1.0 plan. Rendering was reviewed on real
screenshots (new tools/screenshot.gd, `make screenshot`), which also
caught and fixed map markers overlapping and truncated titles.

- Global Godot theme (Atkinson Hyperlegible font, cream/green/gold
  palette, raised buttons, rounded cards, thick keyboard focus).
- Original vector art: forest/marsh backdrops, Plume the owl, stars,
  exercise-type icons, correct/try-again icons, 10 collection items.
- Redesigned world map (markers as cards with icon, title and stars,
  responsive layout), profile screens, mission intro, exercise host,
  rule/feedback panels, reward screen and collection grid.
- Motion helper (pop-in, fade) honouring an animations setting.
- Settings: animations flag; base window 1152x648 with canvas_items.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-11 22:36:43 +02:00

33 lines
1.2 KiB
GDScript

extends Control
## Introduction de la mission choisie sur la carte : contexte narratif issu
## des donnees (data/missions/), pas un questionnaire habille d'un decor
## (voir "Points durs" du prompt de lancement, Sens de l'aventure).
@onready var _title_label: Label = %TitleLabel
@onready var _guide: Control = %Guide
@onready var _start_button: Button = %StartButton
@onready var _back_button: Button = %BackButton
func _ready() -> void:
var mission := ExerciseEngine.get_mission(GameManager.pending_mission_id)
_title_label.text = mission.get("title", "")
_guide.say(mission.get("narrative_context", ""))
var rule := ExerciseEngine.get_rule(mission.get("rule_id", ""))
$Backdrop.kind = "marsh" if rule.get("level", "CE1") == "CE2" else "forest"
_start_button.text = UIText.get_text("mission_intro.start_button")
_back_button.text = UIText.get_text("mission_intro.back_button")
_start_button.pressed.connect(_on_start_pressed)
_back_button.pressed.connect(_on_back_pressed)
func _on_start_pressed() -> void:
GameManager.goto(GameManager.SCENE_EXERCISE_HOST)
func _on_back_pressed() -> void:
GameManager.pending_mission_id = ""
GameManager.goto(GameManager.SCENE_WORLD_MAP)