Revamp Chunk Rotaie - test risaie
This commit is contained in:
@@ -3,25 +3,49 @@ 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)")
|
||||
# Spunta queste caselle se il chunk ha un sentiero/binario che tocca quel bordo
|
||||
@export var nord: bool = false
|
||||
@export var est: bool = false
|
||||
@export var sud: bool = false
|
||||
@export var ovest: bool = false
|
||||
|
||||
# Calcola dove finiscono le uscite se ruotiamo il blocco
|
||||
func get_uscite_ruotate(scatti_90_gradi: int) -> Dictionary:
|
||||
@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):
|
||||
# Sposta le uscite in senso orario
|
||||
uscite_calcolate.append(uscite_originali[(i - scatti_90_gradi + 4) % 4])
|
||||
var indice = (i - scatti_90_gradi + 4) % 4
|
||||
uscite_calcolate.append(uscite_originali[indice])
|
||||
altezze_calcolate.append(altezze_originali[indice])
|
||||
|
||||
return {
|
||||
"nord": uscite_calcolate[0],
|
||||
"est": uscite_calcolate[1],
|
||||
"sud": uscite_calcolate[2],
|
||||
"ovest": uscite_calcolate[3]
|
||||
"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]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user