mirror of
https://github.com/godotengine/godot.git
synced 2025-10-25 18:54:43 +00:00
Improve VisualScript UX
* Prototype faster function call ux. * Work on general search ux. * Able to create nodes from search. * Show class for variables but not methods. * Get actions search working. * Descriptions now show for both methods and properties. * Enable zooming on mouse wheel up and down. * Make the drag trigger on right mouse button. * Search now shows for action visual script nodes. * Able to search visual node names. * Search works better. * Change zooming scale to hide artifacts better. * Remove zoom changes * Select from base should check properties too like the other functions. * Seq_connect flag is needed to set sequence lines correctly. * Remove comment * Code cleanup with function names and arguments. * Use brief description for search descriptions. * Clean and fix bug with input nodes connecting with sequence lines. * Add a warning and fix some edge conditions with sequence into data lines and vice versa. * Don't search functions when pulling from a sequence node. * Don't show actions when pulling from a data line. * Set set and get properties. * Convert visual script operators to the correct type * Create a function preset finds only functions. * Singletons can now find functions. * Add shift-a for generic search. * Add brief descriptions for Visual Script nodes. * Search boxes can now filter names. * Add bigger hit zones to node connect. * For the drop zones, make all the rect2 areas the same size. * Function names in visual script node should be lower case so that search works better. * Use the convention of capitalize() for set, set, visual script nodes and methods. * Make search more general. Ignore "_" and make case-insensitive. Also made the search window smaller and remove extra info from search * Make type_cast use the connecting node's type and remove use of found variable. * Fix case where you call an instance's call function where it becomes an invalid call. * Make get_visual_node_names use a set of filters, move action creations and fix bug with sequence node connections. * Make the window bigger. * Make connect_data and connect_seq more robust. * Add icons to search items. * Add vs constructors in shift-a menu. * Operators, builtins and constructors show type name. Fix several problems with port connections. * In shift-a mode search everything. * Code cleanup * Work on autocompleting the type. * Use type guess in action creation. * Check if type hint string exists in object variables when generating the visual script search. * Add the hint to SceneTree. * Add original type detection. * Make type casting great again. This puts the type casted base type as the data output type string hint. * Pass the type in a VisualScriptFunctionCall too. * Set the base type correctly in VisualScriptFunctionGet and VisualScriptFunctionSet using hint string. * Make sure the instance is passed in VisualScriptPropertySet. * Restore search on the node's type. * Remove dependencies from graph_edit. * Remove dependencies from property_selector and name the class visual_script_property_selector. * Extract hot zones into a function. * Move hot_zones constants into default theme. * Bigger capture zones. * Clean messy port_grab_distance variables. * Remove RMB functionality. * Remove memory leak on showing visual script descriptions. * Read the port_grab_distance constants on enter tree and theme changed.
This commit is contained in:
parent
9377f8db55
commit
85670726fd
12 changed files with 1197 additions and 207 deletions
|
|
@ -1333,6 +1333,19 @@ VisualScript::VisualScript() {
|
|||
base_type = "Object";
|
||||
}
|
||||
|
||||
Set<int> VisualScript::get_output_sequence_ports_connected(const String &edited_func, int from_node) {
|
||||
List<VisualScript::SequenceConnection> *sc = memnew(List<VisualScript::SequenceConnection>);
|
||||
get_sequence_connection_list(edited_func, sc);
|
||||
Set<int> connected;
|
||||
for (List<VisualScript::SequenceConnection>::Element *E = sc->front(); E; E = E->next()) {
|
||||
if (E->get().from_node == from_node) {
|
||||
connected.insert(E->get().from_output);
|
||||
}
|
||||
}
|
||||
memdelete(sc);
|
||||
return connected;
|
||||
}
|
||||
|
||||
VisualScript::~VisualScript() {
|
||||
|
||||
while (!functions.empty()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue