Skip to content

Make it optional to sequence VisualScriptNodes for all nodes #10

@Gallilus

Description

@Gallilus

Describe the project you are working on

General VisualScript improvements and learning c++

Describe the problem or limitation you are having in your project

All base nodes have hardcoded sequence connections
For most of these, this is not mandatory.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

So it is possible to give the option in the inspector. (like expression node)
Optional sequenced
Meaning most nodes may be sequenced or not. As long they have a data output they may be triggered.
Only if they have multiple sequence outputs do they need to be sequenced.

This will provide a lot more intuitive flow control and optimisation of the script.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

I have implemented such a system in my plugin for custom nodes.

I see two methods of archiving this goal.

  1. Is the easy way, that is backwards compatible.
    The bool value invest the current value of _has_input_sequence_port()
  2. Is implement a bool with a setget in the base VisualScriptNode and remove the _has_input_sequence_port() from all other nodes. This is a lot more effort and probably breaks backwards compatibility. And puts more demand on the editor to purpose the proper node configuration.

There are 2 conditions where the _has_input_sequence_port() must be true.

  • The node has no data output port.
  • The node has more than one sequence output port.

If this enhancement will not be used often, can it be worked around with a few lines of script?

This proposal describes the base functionality of VisualScript.

Is there a reason why this should be core and not an add-on in the asset library?

This proposal describes the base functionality of VisualScript.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions