m ProbablePrime moved page For (ProtoFlux) to ProtoFlux:For: Creating protoflux Namespace |
m fix types |
||
(2 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
|Inputs= | |Inputs= | ||
[ | [ | ||
{"Name": "*", "Type": " | {"Name": "*", "Type": "Call"}, | ||
{"Name": "Count", "Type": "int"}, | {"Name": "Count", "Type": "int"}, | ||
{"Name": "Reverse", "Type": "bool"} | {"Name": "Reverse", "Type": "bool"} | ||
Line 10: | Line 10: | ||
|Outputs= | |Outputs= | ||
[ | [ | ||
{"Name": "LoopStart", "Type":" | {"Name": "LoopStart", "Type":"Call"}, | ||
{"Name": "LoopIteration", "Type":" | {"Name": "LoopIteration", "Type":"Call"}, | ||
{"Name": "LoopEnd", "Type":"Continuation"}, | {"Name": "LoopEnd", "Type":"Continuation"}, | ||
{"Name": "iteration", "Type":"int"} | {"Name": "iteration", "Type":"int"} | ||
Line 18: | Line 18: | ||
The For node is used to perform looping operations. allowing to fire impulses a set amount of times. As well as outputting the current iteration count. | The For node is used to perform looping operations. allowing to fire impulses a set amount of times. As well as outputting the current iteration count. | ||
For the async variant. See [[ASync For | For the async variant. See [[ProtoFlux:ASync For|Async For]] | ||
== Inputs == | == Inputs == | ||
=== * (Call) === | === * ([[Impulses|Call]]) === | ||
When an impulse is received. It triggers the for node. Starting the loop. | When an impulse is received. It triggers the for node. Starting the loop. | ||
Line 36: | Line 36: | ||
== Outputs == | == Outputs == | ||
=== LoopStart (Call) === | === LoopStart ([[Impulses|Call]]) === | ||
Fires once immediately after <code>*</code> is pulsed. completing the connected node chain before the loop starts and any impulses are fired from <code>LoopIteration</code>. Allowing for operations to be done before the loop. | Fires once immediately after <code>*</code> is pulsed. completing the connected node chain before the loop starts and any impulses are fired from <code>LoopIteration</code>. Allowing for operations to be done before the loop. | ||
=== LoopIteration (Call) === | === LoopIteration ([[Impulses|Call]]) === | ||
Fires impulses sequentially until the total amount equals <code>Count</code>. No impulses will be fired if <code>Count</code> is 0 or a negative number. the impulse chain will complete before the next <code>LoopIteration</code> is fired. unless there is any type of async delay in the chain. causing it to execute up until the delay before firing the next impulse. | Fires impulses sequentially until the total amount equals <code>Count</code>. No impulses will be fired if <code>Count</code> is 0 or a negative number. the impulse chain will complete before the next <code>LoopIteration</code> is fired. unless there is any type of async delay in the chain. causing it to execute up until the delay before firing the next impulse. | ||
=== LoopEnd (Continuation) === | === LoopEnd ([[Impulses|Continuation]]) === | ||
Fires once after the loop is completed. Allowing the execution chain to continue. Allowing for operations to be done after the loop has been completed. | Fires once after the loop is completed. Allowing the execution chain to continue. Allowing for operations to be done after the loop has been completed. |
Latest revision as of 20:15, 9 February 2024
The For node is used to perform looping operations. allowing to fire impulses a set amount of times. As well as outputting the current iteration count.
For the async variant. See Async For
Inputs
* (Call)
When an impulse is received. It triggers the for node. Starting the loop.
Count (Int)
sets the number of iterations the for loop will run for. The count is evaluated before the LoopStart
impulse is fired and the count cannot be changed during the loop. The default is 0.
Reverse (Bool)
Controls whether the Iteration
increases or decreases for each LoopIteration
. The default is false.
Outputs
LoopStart (Call)
Fires once immediately after *
is pulsed. completing the connected node chain before the loop starts and any impulses are fired from LoopIteration
. Allowing for operations to be done before the loop.
LoopIteration (Call)
Fires impulses sequentially until the total amount equals Count
. No impulses will be fired if Count
is 0 or a negative number. the impulse chain will complete before the next LoopIteration
is fired. unless there is any type of async delay in the chain. causing it to execute up until the delay before firing the next impulse.
LoopEnd (Continuation)
Fires once after the loop is completed. Allowing the execution chain to continue. Allowing for operations to be done after the loop has been completed.
Iteration (Int)
Outputs the current iteration of the loop. Updates every time LoopIteration
is fired. If Reverse
is false. Iteration will start at 0 and increase each loop. ending at Count - 1
. If Reverse
is true. it will start at Count - 1
and decrease each loop. ending at 0.
If Count
is 5 and Reverse
is false. The iteration during the loop would be 0, 1, 2, 3, 4
And if Reverse
is true. The iteration would be 4, 3, 2, 1, 0
Examples
-
Using the for node to iteratively check if a child slot has the tag 'foo'. and replace it with 'bar' using the Children Count and Get Child nodes.