Flowchart Controller
The Flowchart Controller plugin allows flowcharts to be controlled in event sheets.
Some of the common uses of the plugin include the following:
- Create instances of flowcharts using the Start flowchart or Start flowchart (by name) actions.
- Use the Set flowchart action to set an existing flowchart instance as the current one, affecting which flowchart other actions, conditions and expressions act upon.
- Use the Go to actions to traverse a flowchart.
- Use the Node entered and Node exited triggers to perform other project-specific actions depending on the current state of a flowchart.
- Query information from the current node of the current flowchart using expressions.
Flowchart instances
Use the Start flowchart action to create an instance of a flowchart. This is essentially the current state of a flowchart, including the current node. Sometimes only one instance of a flowchart is necessary, which is simpler to use. However it is possible to create multiple instances of the same flowchart, and have each instance track its current node separately. This allows for more advanced uses, such as having every instance of a Sprite object have its own flowchart instance and be able to proceed through the flowchart independently, rather than sharing one flowchart state for all Sprite objects.
The End flowchart action is the counterpart of Start flowchart, and destroys a flowchart instance so it no longer consumes memory.
Flowchart Controller Conditions
- On any flowchart entered
- Triggered when any flowchart is entered. This will happen after using the Set Flowchart action or after using one of the actions to start a new flowchart and using the parameter to immediately set it as the current one.
- On any node entered
- Triggered when any node is entered in the current flowchart.
- On tagged node entered
- Triggered when a node with the specified tags is entered in the current flowchart. All the passed tags must match for the condition to be fulfilled.
- On any node entered in flowchart
- Triggered when any node is entered in a flowchart with the specified tag.
- On tagged node entered in flowchart
- Triggered when a node with the specified tags is entered in a flowchart with the specified tag. All the passed node tags must match for the condition to be fulfilled.
- On any flowchart exited
- Triggered when any flowchart is exited.
- On any node exited
- Triggered when any node in the current flowchart is exited.
- On tagged node exited
- Triggered when a node with the specified tags in the current flowchart is exited. All the passed tags must match for the condition to be fulfilled.
- On any node exited in flowchart
- Triggered when any node in the specified flowchart is exited.
- On tagged node exited in flowchart
- Triggered when a node with the specified tags in the specified flowchart is exited. All the passed node tags must match for the condition to be fulfilled.
- Is at start node
- Check if the current flowchart is at the start node.
- Is at start node in flowchart
- Check if the specified flowchart is at the start node.
- Has flowchart
- Check if a flowchart with the specified tag was already created by either Start flowchart or Start flowchart (by name).
- Compare output count
- Compare the output count of the current node in the current flowchart.
- Compare output name
- Compare the output name in the current node of the current flowchart, using an index to choose the output.
- Compare output value
- Compare the output value in the current node of the current flowchart, using an index or name to choose the output.
- Compare node tags
- Compare the tags of the current node in the current flowchart. In the case of passing multiple tags as a space separated string, the current node must contain all the passed tags for the condition to be fulfilled.
- Compare node tag count
- Compare the tag count of the current node in the current flowchart.
- Compare flowchart tag
- Compare the tag of the current flowchart.
- Has output
- Check if the current node of the current flowchart has an output, using an index or a name to choose the output.
- Output name match regex
- Check if an output's name in the current node of the current flowchart matches a regular expression, using an index to choose the output.
- Output value match regex
- Check if an output's value in the current node of the current flowchart matches a regular expression, using an index or name to choose the output.
- For Each Output
- Run a loop for each output in the current node of the current flowchart.
Flowchart Controller Actions
- Start flowchart
- Start flowchart (by name)
- Starts a new flowchart instance. Use the Start node tag parameter so the flowchart starts in that node, if left empty the flowchart's starting node set in the editor is used. The Flowchart tag parameter assigns the flowchart instance a tag to later identify it elsewhere in the event sheet. The Set as current parameter is a shortcut to immediately set the new flowchart as the current one.
- Set flowchart
- Set the flowchart with the specified tag as the current one. All actions, conditions and expressions used after this will refer to the specified flowchart, except for the case a tag is provided to get information from a specific flowchart instance other than the current one.
- End flowchart
- Release the current flowchart.
- End flowchart by tag
- Release the flowchart with the specified tag.
- Reset flowchart
- Reset the current flowchart, making the default initial node the current one.
- Reset flowchart by tag
- Reset the specified flowchart, making the default initial node the current one in that flowchart.
- Go to next node
- Go to the next node, using an index or a name to choose the output to follow.
- Go to node
- Go to an arbitrary node in the current flowchart using tags to find it. When passing multiple tags as a space separated string, a node must match all the tags before it can be visited.
- Go to previous node
- Go to the previous node of the current flowchart.
- Go to parent node
- Go to the parent node of the current node in the current flowchart, using an index or tags to find the parent node. If the node only has one parent the action will just move the flowchart to that node. When passing multiple tags as a space separated string, the parent node must match all the tags before it can be visited. If there are multiple matches, the first valid one is used.
Flowchart Controller Expressions
- FlowchartTag
- Return the tag of the current flowchart.
- NodeTag
- Return the full tag string of the current node in the current flowchart.
- NodeTagAt(Index)
- Return a tag of the current node in the current flowchart using a 0-based index to look it up.
- NodeTagCount
- Return the amount of tags of the current node in the current flowchart.
- OutputCount
- Return the output count of the current node in the current flowchart.
- OutputNameAt(Index)
- Return the output name at the specified index in the current node of the current flowchart.
- OutputValue(IndexOrName)
- Return the output value at the specified index or name in the current node of the current flowchart.
- ParentCount
- Return the parent count of the current node in the current flowchart.
- ParentTag(ParentIndex)
- Return the full parent tag string of the current node in the current flowchart, specifying a parent index.
- ParentTagAt(ParentIndex, TagIndex)
- Return a parent tag of the current node in the current flowchart, specifying a parent index and a 0-based index to look up the tag.
- ParentIndex(ParentTag)
- Return the parent node index of the current node in the current flowchart, specifying a parent tag.
- NodeTagInFlowchart(FlowchartTag)
- Return the full tag string of the current node in the specified flowchart.
- NodeTagAtInFlowchart(FlowchartTag, TagIndex)
- Return a tag of the current node in the specified flowchart using a 0-based index to look up the node tag.
- NodeTagCountInFlowchart(FlowchartTag)
- Return the tag count of the current node in the specified flowchart.
- OutputCountInFlowchart(FlowchartTag)
- Return the output count of the current node in the specified flowchart.
- OutputNameAtInFlowchart(Index, FlowchartTag)
- Return the output name at the specified index in the current node of the specified flowchart.
- OutputValueInFlowchart(IndexOrName, FlowchartTag)
- Return the output value at the specified index or name in the current node of the specified flowchart.
- ParentCountInFlowchart(FlowchartTag)
- Return the parent count of the current node in the specified flowchart.
- ParentTagInFlowchart(ParentIndex, FlowchartTag)
- Return the full parent tag string of the current node in the specified flowchart using an index to pick the parent.
- ParentTagAtInFlowchart(ParentIndex, FlowchartTag, tagIndex)
- Return a parent tag of the current node in the specified flowchart using an index to pick the parent and a 0-based index to look up the parent tag.
- ParentIndexInFlowchart(ParentTag, FlowchartTag)
- Return the parent index of the current node in the specified flowchart using a tag to pick the parent.
- CurOutputName
- Return the current output name in a For Each Output loop.
- CurOutputValue
- Return the current output value in a For Each Output loop.
Construct 3 Manual
Construct.net
2024-02-19
2024-11-29
You are here:
Search this manual:
This manual entry was last updated on 29 Nov, 2024 at 13:24