ProtoFlux:For

From Resonite Wiki
Revision as of 20:15, 9 February 2024 by 989onan (talk | contribs) (fix types)
For
*
LoopStart
Count
LoopIteration
Reverse
LoopEnd
iteration
Flow

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