Files
scrap-signal/levels/atelier/passage_trigger.gd
Kellan KOZUME decd182b3e feat(atelier): complete zone 2 level design and game systems
- Add atelier tilemap (14x14 tiles) with dark atmosphere
- Add Journal D-891 interactable with Matteo Corda narrative
- Add pushable frozen robot (reuses PushableBox logic)
- Add PassageTrigger to reveal hidden path via TileMapLayer
- Add RepairStation for SCRAP-09 self-repair mini-game
- Add scrap09 puzzle in RepairMinigame with valid connections
- Add door to cour unlocked by scrap09_repaired flag
2026-04-25 12:54:33 -04:00

49 lines
1.2 KiB
GDScript

class_name PassageTrigger
extends Area2D
# Les layers à rendre visibles quand le trigger s'active
@export var layer_sol : TileMapLayer
@export var layer_murs : TileMapLayer
@export var layer_murs_derriere : TileMapLayer
@export var hidden_door : Door
@export var hidden_object : Circuit
# Le layer qui cache le passage — à désactiver
@export var layer_cache : TileMapLayer
var _triggered := false
func _ready() -> void:
# Au départ, sol et murs sont cachés
if layer_sol:
layer_sol.enabled = false
if layer_murs:
layer_murs.enabled = false
if layer_murs_derriere:
layer_murs.enabled = false
if hidden_door:
hidden_door.visible = false
if hidden_object:
hidden_object.visible = false
body_entered.connect(_on_body_entered)
func _on_body_entered(body: Node2D) -> void:
if _triggered or not body.is_in_group("player"):
return
_triggered = true
_reveal_passage()
func _reveal_passage() -> void:
if layer_sol:
layer_sol.enabled = true
if layer_murs:
layer_murs.enabled = true
if layer_murs_derriere:
layer_murs.enabled = true
if hidden_door:
hidden_door.visible = true
if hidden_object:
hidden_object.visible = true
if layer_cache:
layer_cache.enabled = false