Files
frog/scripts/menu.gd
T
E250429F 3e857fa9f3 credit
2026-09-17 23:19:43 +02:00

104 lines
2.8 KiB
GDScript

extends Node3D
@onready var camera: Camera3D = $Camera3D
# BOUTONS
@onready var start: Button = $MenuUI/HBoxContainer/Start
@onready var quit: Button = $MenuUI/HBoxContainer/Quit
@onready var credit: Button = $MenuUI/HBoxContainer/Credit
@onready var fr: TextureButton = $MenuUI/HBoxContainer/fr
@onready var en: TextureButton = $MenuUI/HBoxContainer/en
@onready var screen: Button = $MenuUI/HBoxContainer2/Screen
@onready var credit_label: Label = $MenuUI/Sprite3D/SubViewport/credit_label
@onready var car: Node3D = $partie3D/car
@onready var anim_player_car: AnimationPlayer = $partie3D/car/AnimationPlayer
@onready var anim_player_char: AnimationPlayer = $partie3D/car/player_driving/AnimationPlayer
@onready var musique: AudioStreamPlayer3D = $Musique
# pour option
@onready var menu_ui: Control = $MenuUI
@onready var option: CanvasLayer = $Option
@onready var optionexit: Button = $Option/optionexit
func _ready() -> void:
Sauvegarde.is_in_menu = true
load_lang(Sauvegarde.language)
if Sauvegarde.language == "en":
en.texture_normal = preload("uid://bdcehsogmfiv2")
fr.texture_normal = preload("uid://dusujvur4igj4")
screen.text = Sauvegarde.get_text("window_screen")
if Sauvegarde.can_see_credit:
credit.visible = true
else:
credit.visible = false
anim_player_car.play("driving")
anim_player_char.play("driving")
func _process(delta: float) -> void:
car.position.z += 16 * delta
func _on_start_pressed() -> void:
get_tree().change_scene_to_file( "res://scenes/main.scn" )
Sauvegarde.is_in_menu = false
func _on_quit_pressed() -> void:
get_tree().quit()
func _on_credit_pressed() -> void:
Transition.change_scene("res://ui/credit.tscn")
func _on_fr_pressed() -> void:
fr.texture_normal = preload("uid://cdnkgbmh886ry")
en.texture_normal = preload("uid://mpo1px8jnlyq")
load_lang("fr")
func _on_en_pressed() -> void:
en.texture_normal = preload("uid://bdcehsogmfiv2")
fr.texture_normal = preload("uid://dusujvur4igj4")
load_lang("en")
func _on_screen_pressed() -> void:
if get_window().mode == Window.MODE_FULLSCREEN:
get_window().mode = Window.MODE_WINDOWED
screen.text = Sauvegarde.get_text("full_screen")
else:
get_window().mode = Window.MODE_FULLSCREEN
screen.text = Sauvegarde.get_text("window_screen")
func load_lang(l):
Sauvegarde.language = l
start.text = Sauvegarde.get_text("start")
quit.text = Sauvegarde.get_text("quit")
credit.text = Sauvegarde.get_text("credit")
optionexit.text = Sauvegarde.get_text("resume")
if get_window().mode == Window.MODE_FULLSCREEN:
screen.text = Sauvegarde.get_text("window_screen")
else:
screen.text = Sauvegarde.get_text("full_screen")
func _on_timer_timeout() -> void:
musique.play()
func _on_option_pressed() -> void:
option.visible = true
menu_ui.visible = false
func _on_optionexit_pressed() -> void:
option.visible = false
menu_ui.visible = true