* Changements de la texture des cristaux de Talion dans tous les assets 3D pour correspondre aux assets 2D * Ajout d'un évenement en fin de région, une résurgence de Talion qui décontamine et fait looter les plantes mature aux alentours * Ajout d'un path finding sur le mouvement du robot * Modification du flow des actions à la souris : ajout d'un nouveau son, d'un icône à l'emplacement de l'action * Modification du nombre et de l'ordre de mutation débloquées * Augmentation de la valeur maximale de zoom * Modification des scores à atteindre dans les premières régions * Modification de l'interface du vaisseau, laissant apparaitre une roadmap plus claire, et laissant inspecter l'inventaire actuel * Modification de l'icône d'action dans les scènes 3D * Augmentation de la zone d'écart entre les plantes, et augmentation du taux de zone fertile en conséquence * La station de recharge devient inutilisable après la fin de la région * Ajout d'une transparence lors de la sélection d'objets derrières d'autres objets * Les plantes juvéniles donneront toujours une graine si coupées * Ajout d'un bouclage sur les couleurs des mutations * Fix des hitbox des plantes pour l'inspection à la souris * Fix de plusieurs bugs sur la manipulation de l'inventaire * Ajout de nombreux screenshots d'utilisation des outils lors du tutoriel * Amélioration mineure de la traduction/wording
82 lines
2.1 KiB
GDScript
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 = 2.
|
|
const MIN_ZOOM = 0.5
|
|
|
|
# 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) |