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.

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à

FocusMode

focus_mode

3 (overrides Control)

bool

ignore_invalid_connection_type

false

MouseFilter

mouse_filter

0 (overrides Control)

FocusMode

slots_focus_mode

3

String

title

""

Metodi

void

_draw_port(slot_index: int, position: Vector2i, left: bool, color: Color) virtual

void

clear_all_slots()

void

clear_slot(slot_index: int)

Color

get_input_port_color(port_idx: int)

int

get_input_port_count()

Vector2

get_input_port_position(port_idx: int)

int

get_input_port_slot(port_idx: int)

int

get_input_port_type(port_idx: int)

Color

get_output_port_color(port_idx: int)

int

get_output_port_count()

Vector2

get_output_port_position(port_idx: int)

int

get_output_port_slot(port_idx: int)

int

get_output_port_type(port_idx: int)

Color

get_slot_color_left(slot_index: int) const

Color

get_slot_color_right(slot_index: int) const

Texture2D

get_slot_custom_icon_left(slot_index: int) const

Texture2D

get_slot_custom_icon_right(slot_index: int) const

Variant

get_slot_metadata_left(slot_index: int) const

Variant

get_slot_metadata_right(slot_index: int) const

int

get_slot_type_left(slot_index: int) const

int

get_slot_type_right(slot_index: int) const

HBoxContainer

get_titlebar_hbox()

bool

is_slot_draw_stylebox(slot_index: int) const

bool

is_slot_enabled_left(slot_index: int) const

bool

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

Color

resizer_color

Color(0.875, 0.875, 0.875, 1)

int

port_h_offset

0

int

separation

2

Texture2D

port

StyleBox

panel

StyleBox

panel_focus

StyleBox

panel_selected

StyleBox

slot

StyleBox

slot_selected

StyleBox

titlebar

StyleBox

titlebar_selected


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 🔗

  • void set_ignore_invalid_connection_type(value: bool)

  • bool is_ignoring_valid_connection_type()

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.


String title = "" 🔗

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.


int get_input_port_count() 🔗

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.


int get_output_port_count() 🔗

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.


int port_h_offset = 0 🔗

Scostamento orizzontale delle porte.


int separation = 2 🔗

La distanza verticale tra le porte.


Texture2D port 🔗

L'icona utilizzata per rappresentare le porte.


StyleBox panel 🔗

Lo sfondo predefinito per l'area di slot del GraphNode.


StyleBox panel_focus 🔗

StyleBox utilizzato quando il GraphNode è focalizzato (se utilizzato tramite applicazioni assistive).


StyleBox panel_selected 🔗

La StyleBox utilizzata per l'area di slot quando selezionata.


StyleBox slot 🔗

La StyleBox utilizzata per ogni slot del GraphNode.


StyleBox slot_selected 🔗

StyleBox utilizzato quando lo slot è focalizzato (se utilizzato tramite applicazioni assistive).


StyleBox titlebar 🔗

La StyleBox utilizzata per la barra del titolo del GraphNode.


StyleBox titlebar_selected 🔗

La StyleBox utilizzata per la barra del titolo del GraphNode quando è selezionato.