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]
		}
	}
