Wire all twelve levels with billboard prefabs, autoload systems (inventory, achievements, mock shop, DE/EN/BY), and satire audio locks so the Title→End flow is playable with placeholder assets.
35 lines
806 B
GDScript
35 lines
806 B
GDScript
extends Control
|
|
## Intro: desk + console + explosion.
|
|
## TODO: Real cutscene art and epic narrator VO.
|
|
|
|
@onready var label: Label = $Label
|
|
|
|
var _step: int = 0
|
|
|
|
func _ready() -> void:
|
|
GameState.current_scene_id = "intro_cutscene"
|
|
AudioDirector.stop_music()
|
|
_show_step()
|
|
|
|
func _unhandled_input(event: InputEvent) -> void:
|
|
if event.is_action_pressed("skip_cutscene") or event.is_action_pressed("interact") or event.is_action_pressed("attack"):
|
|
_advance()
|
|
|
|
func _show_step() -> void:
|
|
match _step:
|
|
0:
|
|
label.text = Locale.tr_key("dialog_intro_1")
|
|
1:
|
|
label.text = Locale.tr_key("dialog_intro_2")
|
|
2:
|
|
AudioDirector.play_explosion()
|
|
label.text = "BOOM"
|
|
_:
|
|
GameState.goto_scene("village")
|
|
|
|
func _advance() -> void:
|
|
_step += 1
|
|
_show_step()
|
|
|
|
func _on_skip_pressed() -> void:
|
|
_advance()
|