Files
chaussette.sale/urban_furnitures/high_semaphore.gd
Thomas 725584c477 Des feux rouges!
Pour arrêter les voiture vroom vroom
2025-02-24 18:09:33 +01:00

30 lines
730 B
GDScript

extends Node2D
class_name LightSemaphore
@export var dependantSemaphore : LightSemaphore = null
@export var hasOwnTimerEnabled = true
@onready var lights := [$Sempahore/abovePart/green, $Sempahore/abovePart/yellow, $Sempahore/abovePart/red ];
var light = 0;
func _ready() -> void:
$brakeZone.get_child(1).disabled = !light;
func change_light():
light += 1;
if light > 2:
light = 0;
$brakeZone.get_child(1).disabled = !light;
for i in range (lights.size()):
lights[i].visible = i == light
func _on_timer_timeout() -> void:
if hasOwnTimerEnabled:
if light == 0:
$Timer.wait_time = 1;
else:
$Timer.wait_time = 5;
$Timer.start()
change_light();
if dependantSemaphore:
dependantSemaphore.change_light();