mirror of
https://github.com/kodzukye/scrap-signal.git
synced 2026-04-26 21:27:34 +00:00
- 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
49 lines
1.2 KiB
GDScript
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
|