* Modification de l'apparence de l'UI des dialogues * Changement de l'ordre de déblocage des mutations * Ajout d'une confirmation pour l'abandon * Ajout de la scène de fin avec la base Boréa, en tant que fin de démo * Modification des icône de durée de vie, temps de pousse, et de mort * Ajout d'un icône au dessus du joueur quand il n'a plus d'énergie * Amélioration des dialogues du jeu * Changement du modèle du téléphone * Ajout de cellule d'énergie et de cellule de talion trouvable sur la carte * Il est à nouveau possible de se recharger après la fin d'une région * Buff des mutations ancien sociale et solide * Modification de la mutation fertile (ne donne de gain de graine qu'à la maturation) * Ajout d'une récupération automatique des graines * Ajout de deux cartons de tutoriel ainsi qu'une option pour les revoir dans l'aide de jeu * Amélioration générale du tutoriel * Ajout d'un écran titre digne de ce nom * Lors de l'arrivée à destination, ne téléporte plus le joueur sur une map vide, mais directement dans les lieux de cinématique * Ajout graphique de plus de pattern de mousse et de roche * Le talion apparait maintenant sur toute la carte * La roche peut désormais apparaitre sur la zone de départ * Ajout dud modificateur de région Canyon * Equilibrage général * Fix de bugs en tout genre
51 lines
1.2 KiB
GDScript
51 lines
1.2 KiB
GDScript
extends Area3D
|
|
class_name Interactable3D
|
|
|
|
@export var interactable := true : set = set_interactable
|
|
|
|
@export var inspectable := false
|
|
|
|
signal clicked
|
|
|
|
@export var hover_animation_player : AnimationPlayer
|
|
@export var audio_player : AudioStreamPlayer3D
|
|
|
|
func _ready():
|
|
set_interactable()
|
|
|
|
func click():
|
|
if interactable:
|
|
clicked.emit()
|
|
|
|
func play_audio():
|
|
if audio_player:
|
|
audio_player.play()
|
|
|
|
func stop_audio():
|
|
if audio_player:
|
|
audio_player.stop()
|
|
|
|
func _on_mouse_entered():
|
|
if hover_animation_player and interactable and hover_animation_player.has_animation("hover"):
|
|
hover_animation_player.play("hover")
|
|
if inspectable:
|
|
Pointer.inspect(self)
|
|
|
|
func _on_mouse_exited():
|
|
if hover_animation_player:
|
|
hover_animation_player.stop()
|
|
if inspectable:
|
|
Pointer.stop_inspect(self)
|
|
|
|
func card_info() -> CardInfo:
|
|
return null
|
|
|
|
func set_interactable(i := interactable):
|
|
interactable = i
|
|
|
|
if is_node_ready() and hover_animation_player:
|
|
if i and hover_animation_player.has_animation("activated"):
|
|
hover_animation_player.play("activated")
|
|
if not i and hover_animation_player.has_animation("deactivated"):
|
|
hover_animation_player.play("deactivated")
|