Files
tgcc/docs/museums/daynight/scenes/mountain_test/info_chunk.gd

52 lines
1.6 KiB
GDScript

extends Node3D
class_name InfoChunk
@export_enum("Bioma", "Binario_Dritto", "Binario_Curva") var tipo_chunk: int = 0
@export_group("Regole Set Piece (Pezzi Unici)")
@export var bioma_esclusivo: String = "" # Es: scrivi "Foresta"
@export_group("Uscite Base (Senza Rotazione)")
@export var nord: bool = false
@export var est: bool = false
@export var sud: bool = false
@export var ovest: bool = false
@export_group("Altitudini Bordi (Livelli 0, 1, 2)")
@export var altezza_nord: int = 0
@export var altezza_est: int = 0
@export var altezza_sud: int = 0
@export var altezza_ovest: int = 0
# --- NUOVA AGGIUNTA AUTOMATICA ---
func _ready() -> void:
# Se hai scritto un bioma nell'Inspector, il pezzo capisce di essere
# un pezzo speciale e si aggiunge al gruppo dei fantasmi da solo!
if bioma_esclusivo != "":
add_to_group("set_pieces")
# ... qui sotto continua la tua normale funzione get_dati_ruotati() ...
func get_dati_ruotati(scatti_90_gradi: int) -> Dictionary:
var uscite_originali = [nord, est, sud, ovest]
var altezze_originali = [altezza_nord, altezza_est, altezza_sud, altezza_ovest]
var uscite_calcolate = []
var altezze_calcolate = []
for i in range(4):
var indice = (i - scatti_90_gradi + 4) % 4
uscite_calcolate.append(uscite_originali[indice])
altezze_calcolate.append(altezze_originali[indice])
return {
"connessioni": {
"nord": uscite_calcolate[0], "est": uscite_calcolate[1],
"sud": uscite_calcolate[2], "ovest": uscite_calcolate[3]
},
"altezze": {
"nord": altezze_calcolate[0], "est": altezze_calcolate[1],
"sud": altezze_calcolate[2], "ovest": altezze_calcolate[3]
}
}