2026-01-18 21:43:33 +00:00
|
|
|
extends Node3D
|
2026-01-20 16:23:11 +00:00
|
|
|
class_name SubwayTrain
|
2026-01-18 21:43:33 +00:00
|
|
|
|
2026-01-24 12:59:14 +00:00
|
|
|
@export var materials : Dictionary[StringName, Material] = {}
|
|
|
|
|
|
2026-01-18 21:43:33 +00:00
|
|
|
@export var door_open: bool:
|
|
|
|
|
set(open):
|
2026-01-20 17:18:10 +00:00
|
|
|
if door_open == open: return
|
|
|
|
|
door_open=open
|
|
|
|
|
if open:
|
2026-01-20 23:58:31 +00:00
|
|
|
%TrainModel/AnimationPlayer.play("door_open")
|
2026-01-20 17:18:10 +00:00
|
|
|
else:
|
2026-01-20 23:58:31 +00:00
|
|
|
%TrainModel/AnimationPlayer.play("door_close")
|
2026-01-20 20:07:41 +00:00
|
|
|
|
2026-01-22 00:47:15 +00:00
|
|
|
%FrontWallClosed.disabled = door_open
|
2026-01-24 12:59:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
func set_line(line : StringName):
|
|
|
|
|
$TrainModel/traun_hull.material_overlay = materials[line]
|
|
|
|
|
get_tree().call_group("labels", "set_text", line.to_upper())
|
|
|
|
|
|