segunda-feira, 13 de fevereiro de 2017

BP Compendium 3: MultiGate

MultiGate


A "MultiGate" can have multiple output pins. At each execution of the "MultiGate" only one of the output pins is executed. The order that the output pins are executed may be in sequence or random. When all the output pins are executed and if the "Loop" option is not selected, "MultiGate" will stop executing the output pins. In order for the "Multigate" to run the output pins again, the "Reset" pin must be triggered.

Output pins can be added using the "Add pin +" option. To remove a pin, right-click the pin and choose the "Remove execution pin" option.


Input

  • Reset: Execution pin used to restart the MultiGate and allow new executions of the output pins.
  • Is Random: Boolean value. If true it indicates that the order of execution of the output pins is random.
  • Loop: Boolean value. If true, the "MultiGate" continues to execute the output pins after the last output pin is executed.
  • Start Index: Integer value indicating the first output pin to be executed.


Example Usage: 

At the level there is an object called "MaterialDisplay" whose function is to display various materials for the user. When the "Enter" key is pressed, a "MultiGate" is used to define a different material at each execution. As the "Loop" option is selected, after the last output pin is executed, "MultiGate" will return to the first output pin.

Click to enlarge

Important:
"MultiGate" and other actions as "Gate", "Do Once", "Do N" and "Flip Flop", have internal variables to store their current state. Because of this, these actions do not work correctly within Functions because every time a function is executed, the internal variables used in this function are restarted.