# Segnale di avviso speciale che simula le luci rosse per le auto in un PL
# senza barriere, da collegare all'elemento di binario subito dopo la 'strada'
# (usare un segnale per ciascuna direzione), al quale va assegnato lo script
# "rfi_sig_up_on_exit.tds" per far aggiornare i segnali quando un treno passa.
# Le luci sono spente quando tale elemento è libero (nero) e si accendono quando
# è bloccato, tipicamente perché è stato aperto il segnale precedente al PL.
# Se i binari sono più di uno è necessario adattare due copie di questo script
# per ogni binario del PL (ne verrà usata una per ogni direzione), inserendo al
# posto di B1..B4 le coordinate degli elementi a cui sono collegate le sbarre
# o le luci degli altri binari e spostando il # dal caso desiderato al primo.
#
# Aspetti: open (luci spente), closed (luci accese), unlit (luci guaste)

# Special distant simulating the red lights for the cars in a level crossing
# with no gates. It must be linked to the track element just after the 'road'
# (use a signal for each direction), to which the "rfi_sig_up_on_exit.tds"
# script must be assigned, so passing trains will update the signals.
# The lights are off when the above track element is free (black) and light up
# otherwise, tipically beacause the signal preceding the LC has been cleared.
# If the tracks are more then one, two copies of this script must be adapted
# for each track of the LC (one for each direction), by replacing B1..B4 with
# the coordinates to which the gates or the lights of the other tracks are
# linked, and by moving the # from the needed case to the first one.
#
# Aspects: open (lights off), closed (lights on), unlit

# P.Rosati  21/01/2021 (Versione 5.1)

Aspect: open
	IconE: PL_bb_X.xpm
	IconW: PL_bb_X.xpm
	IconN: PL_bb_X.xpm
	IconS: PL_bb_X.xpm
	Action: none

Aspect: unlit
	IconE: PL_bb_X.xpm
	IconW: PL_bb_X.xpm
	IconN: PL_bb_X.xpm
	IconS: PL_bb_X.xpm
	Action: none

Aspect: closed
	IconE: PL_rb_X.xpm PL_br_X.xpm
	IconW: PL_rb_X.xpm PL_br_X.xpm
	IconN: PL_rb_X.xpm PL_br_X.xpm
	IconS: PL_rb_X.xpm PL_br_X.xpm
	Action: none

# initial aspect

OnInit:
	.aspect = open
end

# the player or a script cleared the signal

OnCleared:
end

# the player or a script cleared the signal for shunting

OnShunt:
end

# this or another signal changed its aspect

OnUpdate:
	if .aspect = unlit
		return
			# Con più binari creare una copia dello script e spostare il #
			# dal caso desiderato alla linea dopo questo 'else'
			# With more tracks make a copy of the script and move the #
	else	# from the desired case to the line after this 'else'
		if .color ! black		#  Un binario - one track
#		if .color ! black or Track(B1).color ! black or Track(B2).color		# 2 binari - 2 tracks
#		if .color ! black or Track(B1).color ! black or Track(B2).color ! black or Track(B3).color ! black or Track(B4).color ! black
			.aspect = closed	# Qui sopra: 3 binari - Above: 3 tracks
		else
			.aspect = open
		end
	end
end

# a train passed the signal

OnCross:
	return
end
