STRINGS for easier text management
This commit is contained in:
parent
8e2a2d08f0
commit
352ab75841
13 changed files with 140 additions and 112 deletions
|
|
@ -3,32 +3,41 @@ extends CanvasLayer
|
|||
var _score := 0
|
||||
var _saved := 0
|
||||
var _lost := false
|
||||
var _ready_for_input := false
|
||||
|
||||
func _ready():
|
||||
visible = false
|
||||
EventBus.game_won.connect(_on_game_won)
|
||||
EventBus.game_lost.connect(_on_game_lost)
|
||||
EventBus.score_changed.connect(func(s): _score = s)
|
||||
EventBus.saved_changed.connect(func(s): _saved = s)
|
||||
$Center/Card/Margin/Column/RestartButton.pressed.connect(_on_restart_pressed)
|
||||
|
||||
$Center/Card/Margin/Column/SpaceHint.text = Strings.END_SPACE_HINT
|
||||
|
||||
$Dim.modulate.a = 0.0
|
||||
$BlackFade.modulate.a = 0.0
|
||||
$Center.modulate.a = 0.0
|
||||
$Center/Card/Margin/Column/Headline.modulate.a = 0.0
|
||||
$Center/Card/Margin/Column/ScoreLabel.modulate.a = 0.0
|
||||
$Center/Card/Margin/Column/SavedLabel.modulate.a = 0.0
|
||||
$Center/Card/Margin/Column/SpaceHint.modulate.a = 0.0
|
||||
|
||||
visible = true
|
||||
|
||||
func _unhandled_input(event):
|
||||
if visible and _lost and event is InputEventKey and event.pressed and not event.echo and event.keycode == KEY_SPACE:
|
||||
if _ready_for_input and event is InputEventKey and event.pressed and not event.echo and event.keycode == KEY_SPACE:
|
||||
get_viewport().set_input_as_handled()
|
||||
_on_restart_pressed()
|
||||
|
||||
func _on_game_won():
|
||||
$Center/Card/Margin/Column/Headline.text = "YOU ESCAPED"
|
||||
$Center/Card/Margin/Column/Headline.text = Strings.END_WIN_HEADLINE
|
||||
_lost = false
|
||||
$Center/Card/Margin/Column/SpaceHint.visible = false
|
||||
_show()
|
||||
_run_intro_sequence()
|
||||
|
||||
func _on_game_lost(reason: String):
|
||||
$Center/Card/Margin/Column/Headline.text = reason
|
||||
func _on_game_lost(_reason: String):
|
||||
$Center/Card/Margin/Column/Headline.text = Strings.END_LOSS_HEADLINE
|
||||
_lost = true
|
||||
$Center/Card/Margin/Column/SpaceHint.visible = true
|
||||
_apply_loss_palette()
|
||||
_show()
|
||||
_run_intro_sequence()
|
||||
|
||||
func _apply_loss_palette():
|
||||
var border := Color(1, 0.3, 0.3, 1)
|
||||
|
|
@ -36,23 +45,41 @@ func _apply_loss_palette():
|
|||
|
||||
$Dim.color = Color(0.18, 0.05, 0.05, 1)
|
||||
|
||||
var button = $Center/Card/Margin/Column/RestartButton
|
||||
var button_style := (button.get_theme_stylebox("normal") as StyleBoxFlat).duplicate() as StyleBoxFlat
|
||||
if button_style:
|
||||
button_style.border_color = border
|
||||
button_style.bg_color = Color(0.3, 0.1, 0.1, 1)
|
||||
for state in ["normal", "hover", "pressed", "focus"]:
|
||||
button.add_theme_stylebox_override(state, button_style)
|
||||
button.add_theme_color_override("font_color", border)
|
||||
|
||||
$Center/Card/Margin/Column/Headline.add_theme_color_override("font_color", border)
|
||||
$Center/Card/Margin/Column/ScoreLabel.add_theme_color_override("font_color", subtle)
|
||||
$Center/Card/Margin/Column/SavedLabel.add_theme_color_override("font_color", subtle)
|
||||
|
||||
func _show():
|
||||
$Center/Card/Margin/Column/ScoreLabel.text = "Score: %d" % _score
|
||||
$Center/Card/Margin/Column/SavedLabel.text = "Survivors saved: %d" % _saved
|
||||
visible = true
|
||||
func _run_intro_sequence() -> void:
|
||||
$Center/Card/Margin/Column/ScoreLabel.text = Strings.END_SCORE_FMT % _score
|
||||
$Center/Card/Margin/Column/SavedLabel.text = Strings.END_SAVED_FMT % _saved
|
||||
|
||||
await get_tree().create_timer(0.8, false).timeout
|
||||
|
||||
var fade_tween := create_tween()
|
||||
fade_tween.tween_property($BlackFade, "modulate:a", 1.0, 1.2)
|
||||
await fade_tween.finished
|
||||
|
||||
$Dim.modulate.a = 1.0
|
||||
$Center.modulate.a = 1.0
|
||||
|
||||
var headline_tween := create_tween()
|
||||
headline_tween.tween_property($Center/Card/Margin/Column/Headline, "modulate:a", 1.0, 0.4)
|
||||
await headline_tween.finished
|
||||
|
||||
await get_tree().create_timer(0.2, false).timeout
|
||||
|
||||
var labels_tween := create_tween()
|
||||
labels_tween.tween_property($Center/Card/Margin/Column/ScoreLabel, "modulate:a", 1.0, 0.4)
|
||||
labels_tween.parallel().tween_property($Center/Card/Margin/Column/SavedLabel, "modulate:a", 1.0, 0.4)
|
||||
await labels_tween.finished
|
||||
|
||||
await get_tree().create_timer(0.2, false).timeout
|
||||
|
||||
var hint_tween := create_tween()
|
||||
hint_tween.tween_property($Center/Card/Margin/Column/SpaceHint, "modulate:a", 1.0, 0.4)
|
||||
await hint_tween.finished
|
||||
|
||||
_ready_for_input = true
|
||||
|
||||
func _on_restart_pressed():
|
||||
get_tree().reload_current_scene()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue