Files
seeding-planets/common/game_data/scripts/settings_data.gd
Zacharie Guet 4a46492598 Equilibrage, amélioration du tutoriel et de la clarté des éléments de gameplay
* Rajout d'une région supplémentaire pour finir le jeu, et renommage de la dernière map en "Base Borea"
* Amélioration de la clarté du détecteur
* Les objectifs du tutoriel et les indications de jeu apparaissent désormais en haut de l'écran
* Changement des étapes du tutoriel
* Amélioration de la lisibilité du voyage dans le vaisseau (avec un décompte de distance jusqu'à la fin du jeu)
* Changement de la génération de map : la zone fertile est désormais uniquement au centre de la carte, les chunks sont également plus petits
* Changement des objectifs à réaliser ainsi que des recharges, seule 8 par région désormais
* Les modificateurs de région n'évoluent plus
2026-03-21 18:59:39 +01:00

82 lines
2.1 KiB
GDScript

extends Resource
class_name SettingsData
const MUSIC_BUS_ID = 1
const SFX_BUS_ID = 2
const AMBIANCE_BUS_ID = 3
signal language_changed(settings : SettingsData)
signal sound_changed(settings : SettingsData)
signal video_changed(settings : SettingsData)
signal game_changed(settings : SettingsData)
#region ------------------ Language ------------------
const AVAILABLE_LANGUAGES = [
"en",
"fr",
]
const AVAILABLE_LANGUAGES_LABEL = [
"English",
"Français",
]
@export var language : String = OS.get_locale_language() :
set(v):
language = v
language_changed.emit(self)
#region ------------------ Sound ------------------
@export var music_volume : float = 0.7 :
set(v):
music_volume = v
sound_changed.emit(self)
@export var ambiance_volume : float = 0.7 :
set(v):
ambiance_volume = v
sound_changed.emit(self)
@export var sfx_volume : float = 0.5 :
set(v):
sfx_volume = v
sound_changed.emit(self)
#region ------------------ Video ------------------
@export var full_screen : bool = true :
set(v):
full_screen = v
video_changed.emit(self)
#region ------------------ Controls ------------------
@export var action_remapped : Array[String] = []
@export var input_remapped : Array[InputEvent] = []
#region ------------------ Game ------------------
const MAX_ZOOM = 1.8
const MIN_ZOOM = 0.8
# Not in settings pannel
@export var zoom : float = 1. :
set(v):
zoom = min(MAX_ZOOM,max(MIN_ZOOM,v))
game_changed.emit(self)
@export var closed_help_containers = []
func is_help_container_closed(help_container_name : String) -> bool:
return help_container_name in closed_help_containers
func close_help_container(help_container_name : String):
if not help_container_name in closed_help_containers:
closed_help_containers.append(help_container_name)
game_changed.emit(self)
func open_help_container(help_container_name : String):
if help_container_name in closed_help_containers:
closed_help_containers.erase(help_container_name)
game_changed.emit(self)