extends Control ## Title: pixel rain, Pay2Win, loud music, Burger-Cham, first-run language. @onready var subtitle: Label = $Subtitle @onready var bubble: Label = $Bubble @onready var start_btn: Button = $StartButton @onready var rain: Node2D = $Rain @onready var lang_panel: PanelContainer = $LangPanel @onready var music_hint: Label = $MusicHint var _rain_sprites: Array[Sprite2D] = [] func _ready() -> void: GameState.current_scene_id = "title_screen" Input.mouse_mode = Input.MOUSE_MODE_VISIBLE AudioDirector.burger_cham_enabled = true AudioDirector.play_title_music() _refresh() Locale.locale_changed.connect(_refresh) _spawn_rain() lang_panel.visible = Settings.needs_language_picker() start_btn.visible = not lang_panel.visible func _refresh() -> void: subtitle.text = Locale.tr_key("title_pay2win") bubble.text = Locale.tr_key("title_bubble") start_btn.text = Locale.tr_key("menu_start") music_hint.text = Locale.tr_key("title_music_hint") $LangPanel/Margin/VBox/Title.text = Locale.tr_key("lang_pick_title") $LangPanel/Margin/VBox/BtnDE.text = Locale.tr_key("lang_de") $LangPanel/Margin/VBox/BtnEN.text = Locale.tr_key("lang_en") $LangPanel/Margin/VBox/BtnBY.text = Locale.tr_key("lang_by") func _spawn_rain() -> void: var paths = [ "res://assets/sprites/placeholders/mario.png", "res://assets/sprites/placeholders/sonic.png", "res://assets/sprites/placeholders/burger.png", ] for i in range(28): var s := Sprite2D.new() s.texture = load(paths[i % paths.size()]) s.position = Vector2(randf() * 1280.0, randf() * -720.0) s.scale = Vector2(3, 3) s.texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST rain.add_child(s) _rain_sprites.append(s) func _process(delta: float) -> void: for s in _rain_sprites: s.position.y += (90.0 + s.get_index() * 2.5) * delta if s.position.y > 760.0: s.position.y = -40.0 s.position.x = randf() * 1280.0 func _pick_lang(lang: String) -> void: Settings.set_language(lang) lang_panel.visible = false start_btn.visible = true _refresh() func _on_lang_de() -> void: _pick_lang("de") func _on_lang_en() -> void: _pick_lang("en") func _on_lang_by() -> void: _pick_lang("by") func _on_start_pressed() -> void: if Settings.needs_language_picker(): lang_panel.visible = true return AudioDirector.burger_cham_enabled = false GameState.start_new_game()