Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
GraphNode
Eredita: GraphElement < Container < Control < CanvasItem < Node < Object
Un contenitore con porte di collegamento, che rappresenta un nodo in un GraphEdit.
Descrizione
GraphNode consente di creare nodi per un grafico GraphEdit con contenuti personalizzabili in base ai suoi controlli figlio. GraphNode deriva da Container ed è responsabile del posizionamento dei suoi figli sullo schermo. Funziona in modo simile a VBoxContainer. I figli, a loro volta, forniscono a GraphNode i cosiddetti slot, ognuno dei quali può avere una porta di collegamento su entrambi i lati.
Ogni slot GraphNode è definito dal suo indice e può fornire al nodo fino a due porte: una a sinistra e una a destra. Per convenzione, la porta sinistra è anche definita porta d'ingresso e la porta destra è definita porta d'uscita. Ogni porta può essere abilitata e configurata individualmente, utilizzando un tipo e un colore diversi. Il tipo è un valore arbitrario che si può definire a piacere. Il GraphEdit padre riceverà queste informazioni su ogni richiesta di collegamento e scollegamento.
Gli slot si possono configurare nel pannello dell'Ispettore una volta aggiunto almeno un Control figlio. Le proprietà sono raggruppate in base all'indice di ogni slot nella sezione "Slot".
Nota: Mentre GraphNode è configurato tramite slot e indici di slot, i collegamenti sono effettuati tra le porte che sono abilitate. Per questo motivo GraphEdit utilizza l'indice della porta e non quello dello slot. È possibile usare get_input_port_slot() e get_output_port_slot() per ottenere l'indice dello slot dall'indice della porta.
Proprietà
focus_mode |
|
|
|
||
mouse_filter |
|
|
|
||
|
Metodi
void |
_draw_port(slot_index: int, position: Vector2i, left: bool, color: Color) virtual |
void |
|
void |
clear_slot(slot_index: int) |
get_input_port_color(port_idx: int) |
|
get_input_port_position(port_idx: int) |
|
get_input_port_slot(port_idx: int) |
|
get_input_port_type(port_idx: int) |
|
get_output_port_color(port_idx: int) |
|
get_output_port_position(port_idx: int) |
|
get_output_port_slot(port_idx: int) |
|
get_output_port_type(port_idx: int) |
|
get_slot_color_left(slot_index: int) const |
|
get_slot_color_right(slot_index: int) const |
|
get_slot_custom_icon_left(slot_index: int) const |
|
get_slot_custom_icon_right(slot_index: int) const |
|
get_slot_metadata_left(slot_index: int) const |
|
get_slot_metadata_right(slot_index: int) const |
|
get_slot_type_left(slot_index: int) const |
|
get_slot_type_right(slot_index: int) const |
|
is_slot_draw_stylebox(slot_index: int) const |
|
is_slot_enabled_left(slot_index: int) const |
|
is_slot_enabled_right(slot_index: int) const |
|
void |
set_slot(slot_index: int, enable_left_port: bool, type_left: int, color_left: Color, enable_right_port: bool, type_right: int, color_right: Color, custom_icon_left: Texture2D = null, custom_icon_right: Texture2D = null, draw_stylebox: bool = true) |
void |
set_slot_color_left(slot_index: int, color: Color) |
void |
set_slot_color_right(slot_index: int, color: Color) |
void |
set_slot_custom_icon_left(slot_index: int, custom_icon: Texture2D) |
void |
set_slot_custom_icon_right(slot_index: int, custom_icon: Texture2D) |
void |
set_slot_draw_stylebox(slot_index: int, enable: bool) |
void |
set_slot_enabled_left(slot_index: int, enable: bool) |
void |
set_slot_enabled_right(slot_index: int, enable: bool) |
void |
set_slot_metadata_left(slot_index: int, value: Variant) |
void |
set_slot_metadata_right(slot_index: int, value: Variant) |
void |
set_slot_type_left(slot_index: int, type: int) |
void |
set_slot_type_right(slot_index: int, type: int) |
Proprietà del tema
|
||
|
||
|
||
Segnali
slot_sizes_changed() 🔗
Emesso quando le dimensioni di qualunque slot potrebbero essere cambiate.
slot_updated(slot_index: int) 🔗
Emesso quando viene aggiornato uno slot di GraphNode.
Descrizioni delle proprietà
bool ignore_invalid_connection_type = false 🔗
Se true, è possibile collegare porte con tipi diversi, anche se il collegamento non è stato esplicitamente consentito nel GraphEdit padre.
FocusMode slots_focus_mode = 3 🔗
Determina come si possono focalizzare gli slot dei collegamenti.
Se impostato su Control.FOCUS_CLICK, i collegamenti si possono creare solo con il mouse.
Se impostato su Control.FOCUS_ALL, gli slot si possono focalizzare anche attraverso le azioni di input ProjectSettings.input/ui_up e ProjectSettings.input/ui_down e collegati attraverso le azioni di input ProjectSettings.input/ui_left e ProjectSettings.input/ui_right.
Se impostato su Control.FOCUS_ACCESSIBILITY, le azioni di input per gli slot sono abilitate solo quando il lettore dello schermo è attivo.
Il testo visualizzato nella barra del titolo del GraphNode.
Descrizioni dei metodi
void _draw_port(slot_index: int, position: Vector2i, left: bool, color: Color) virtual 🔗
There is currently no description for this method. Please help us by contributing one!
void clear_all_slots() 🔗
Disabilita tutti gli slot del GraphNode. Questo rimuoverà tutte le porte di ingresso e di uscita dal GraphNode.
void clear_slot(slot_index: int) 🔗
Disabilita lo slot con l'indice slot_index specificato. Ciò rimuoverà la porta di ingresso e di uscita corrispondente dal GraphNode.
Color get_input_port_color(port_idx: int) 🔗
Restituisce il Color della porta di ingresso con l'indice port_idx specificato.
Restituisce il numero di slot con una porta di ingresso abilitata.
Vector2 get_input_port_position(port_idx: int) 🔗
Restituisce la posizione della porta di ingresso con l'indice port_idx specificato.
int get_input_port_slot(port_idx: int) 🔗
Restituisce l'indice di slot corrispondente della porta di ingresso con l'indice port_idx specificato.
int get_input_port_type(port_idx: int) 🔗
Restituisce il tipo di porta di ingresso con l'indice port_idx specificato.
Color get_output_port_color(port_idx: int) 🔗
Restituisce il Color della porta di uscita con l'indice port_idx specificato.
Restituisce il numero di slot con una porta di uscita abilitata.
Vector2 get_output_port_position(port_idx: int) 🔗
Restituisce la posizione della porta di uscita con l'indice port_idx specificato.
int get_output_port_slot(port_idx: int) 🔗
Restituisce l'indice di slot corrispondente della porta di uscita con l'indice port_idx specificato.
int get_output_port_type(port_idx: int) 🔗
Restituisce il tipo della porta di uscita con l'indice port_idx specificato.
Color get_slot_color_left(slot_index: int) const 🔗
Restituisce il colore a sinistra (ingresso) dello slot con l'indice slot_index specificato.
Color get_slot_color_right(slot_index: int) const 🔗
Restituisce il colore a destra (uscita) dello slot con l'indice slot_index specificato.
Texture2D get_slot_custom_icon_left(slot_index: int) const 🔗
Restituisce la Texture2D personalizzata a sinistra (ingresso) dello slot con l'indice slot_index specificato.
Texture2D get_slot_custom_icon_right(slot_index: int) const 🔗
Restituisce la Texture2D personalizzata a destra (uscita) dello slot con l'indice slot_index specificato.
Variant get_slot_metadata_left(slot_index: int) const 🔗
Returns the left (input) metadata of the slot with the given slot_index.
Variant get_slot_metadata_right(slot_index: int) const 🔗
Returns the right (output) metadata of the slot with the given slot_index.
int get_slot_type_left(slot_index: int) const 🔗
Restituisce il tipo a sinistra (ingresso) dello slot con l'indice slot_index specificato.
int get_slot_type_right(slot_index: int) const 🔗
Restituisce il tipo a sinistra (uscita) dello slot con l'indice slot_index specificato.
HBoxContainer get_titlebar_hbox() 🔗
Restituisce il HBoxContainer utilizzato per la barra del titolo, contenente solo una Label per visualizzare il titolo come predefinito. Può essere utilizzato per aggiungere controlli personalizzati alla barra del titolo, come pulsanti di opzioni o di chiusura.
bool is_slot_draw_stylebox(slot_index: int) const 🔗
Restituisce true se la StyleBox di sfondo dello slot con l'indice slot_index è disegnata.
bool is_slot_enabled_left(slot_index: int) const 🔗
Restituisce true se il lato a sinistra (ingresso) dello slot con l'indice slot_index specificato è abilitato.
bool is_slot_enabled_right(slot_index: int) const 🔗
Restituisce true se il lato a destra (uscita) dello slot con l'indice slot_index specificato è abilitato.
void set_slot(slot_index: int, enable_left_port: bool, type_left: int, color_left: Color, enable_right_port: bool, type_right: int, color_right: Color, custom_icon_left: Texture2D = null, custom_icon_right: Texture2D = null, draw_stylebox: bool = true) 🔗
Imposta le proprietà dello slot con l'indice slot_index.
Se enable_left_port/enable_right_port è true, apparirà una porta e lo slot si potrà collegare da questo lato.
Con type_left/type_right è possibile assegnare un tipo arbitrario a ciascuna porta. È possibile collegare due porte se condividono lo stesso tipo o se il collegamento tra i loro tipi è consentito nel GraphEdit padre (vedi GraphEdit.add_valid_connection_type()). Tieni presente che il GraphEdit ha l'ultima parola nell'accettare il collegamento. La compatibilità di tipo consente semplicemente l'emissione del segnale GraphEdit.connection_request.
È possibile personalizzare ulteriolmente le porte attraverso color_left/color_right e custom_icon_left/custom_icon_right. Il parametro color aggiunge una tinta all'icona. L'icona personalizzata si può utilizzare per sovrascrivere il punto predefinito della porta.
Inoltre, draw_stylebox si può utilizzare per abilitare o disabilitare il disegno dello stylebox di sfondo per ogni slot. Vedi slot.
Le singole proprietà si possono anche impostare attraverso uno dei metodi set_slot_*.
Nota: Questo metodo imposta solo le proprietà dello slot. Per creare lo slot stesso, aggiungi un figlio derivato da Control al GraphNode.
void set_slot_color_left(slot_index: int, color: Color) 🔗
Imposta il colore del lato a sinistra (ingresso) dello slot con l'indice slot_index specificato a color.
void set_slot_color_right(slot_index: int, color: Color) 🔗
Imposta il colore del lato a destra (ingresso) dello slot con l'indice slot_index specificato a color.
void set_slot_custom_icon_left(slot_index: int, custom_icon: Texture2D) 🔗
Imposta la Texture2D personalizzata del lato a sinistra (ingresso) dello slot con l'indice slot_index specificato a custom_icon.
void set_slot_custom_icon_right(slot_index: int, custom_icon: Texture2D) 🔗
Imposta la Texture2D personalizzata del lato a destra (uscita) dello slot con l'indice slot_index specificato a custom_icon.
void set_slot_draw_stylebox(slot_index: int, enable: bool) 🔗
Commuta la StyleBox dello sfondo dello slot con l'indice slot_index specificato.
void set_slot_enabled_left(slot_index: int, enable: bool) 🔗
Commuta il lato sinistro (ingresso) dello slot con l'indice slot_index specificato. Se enable è true, apparirà una porta sul lato sinistro e lo slot potrà essere collegato da questo lato.
void set_slot_enabled_right(slot_index: int, enable: bool) 🔗
Commuta il lato destro (uscita) dello slot con l'indice slot_index specificato. Se enable è true, apparirà una porta sul lato destro e lo slot potrà essere collegato da questo lato.
void set_slot_metadata_left(slot_index: int, value: Variant) 🔗
Sets the custom metadata for the left (input) side of the slot with the given slot_index to value.
void set_slot_metadata_right(slot_index: int, value: Variant) 🔗
Sets the custom metadata for the right (output) side of the slot with the given slot_index to value.
void set_slot_type_left(slot_index: int, type: int) 🔗
Imposta il tipo a sinistra (ingresso) dello slot con l'indice slot_index su type. Se il valore è negativo, non sarà consentito creare alcun collegamento tramite input dell'utente.
void set_slot_type_right(slot_index: int, type: int) 🔗
Imposta il tipo a destra (uscita) dello slot con l'indice slot_index su type. Se il valore è negativo, non sarà consentito creare alcun collegamento tramite input dell'utente.
Descrizioni delle proprietà del tema
Color resizer_color = Color(0.875, 0.875, 0.875, 1) 🔗
Il colore di modulazione colore applicato all'icona di ridimensionamento.
Scostamento orizzontale delle porte.
La distanza verticale tra le porte.
L'icona utilizzata per rappresentare le porte.
Lo sfondo predefinito per l'area di slot del GraphNode.
StyleBox utilizzato quando il GraphNode è focalizzato (se utilizzato tramite applicazioni assistive).
La StyleBox utilizzata per l'area di slot quando selezionata.
La StyleBox utilizzata per ogni slot del GraphNode.
StyleBox utilizzato quando lo slot è focalizzato (se utilizzato tramite applicazioni assistive).
La StyleBox utilizzata per la barra del titolo del GraphNode.
La StyleBox utilizzata per la barra del titolo del GraphNode quando è selezionato.