Files
seeding-planets/entities/interactables/door/script/door.gd
Zacharie Guet 91e266ec85 Et toujours du dev pour la béta
* Evolution de l'histoire avec de nouveaux dialogues, une plus grande durée de vie du jeu, des nouvelles zones d'histoire...
* Suppression du mode infini
* Ajout d'un écran des mutations découvertes
* Ajout d'un nouveau mécanisme de respawn situé dans le vaissau
* Ajout de 2 nouveaux modificateurs de région
* Quatre nouveaux artefacts
* Visuel de la décontamination de la planète 3D en cours de la partie
* Ajout d'une annonce visuelle des scène du jeu
* Fix sur la mutation Généreux pour être en accord avec sa description
* Amélioration de l'effet de la mutation Purification
* Fix de la mutation sociale aux niveau supérieurs
* Ajout d'un effet visuel de réacteur sur le joueur 3D
* Fix sur l'annonce de nouveaux objets qui se déclenchaient à une nouvelle run
* Amélioration des animation et des informations données dans le vaisseau
* Correction mineure des traductions
2026-04-28 23:41:36 +02:00

45 lines
1.1 KiB
GDScript

extends Interactable
class_name Door
@export var to_scene : Scene
@export var present : bool = false : set = set_present
@export var door_id : int
func _init():
default_interact_text = "ENTER"
func _ready():
if available:
%AnimatedSprite2D.play("opened")
else:
%AnimatedSprite2D.play("closed")
set_present()
%Icon.texture = to_scene.get_scene_icon()
func interact(p : Player) -> bool:
if available and to_scene:
p.region.data.entered_door = name
interacted.emit(p)
p.region.save()
SceneManager.change_to_scene(to_scene)
return available
func set_available(v : bool):
available = v
if is_node_ready():
if available:
AudioManager.play_sfx("DoorOpen")
get_tree().create_timer(0.5).timeout.connect(
func (): %AnimatedSprite2D.play("open")
)
else:
%AnimatedSprite2D.play("close")
func set_present(p := present):
present = p
if present:
process_mode = Node.PROCESS_MODE_INHERIT
else:
process_mode = Node.PROCESS_MODE_DISABLED
visible = present