Kompendium: MultiGate

MultiGate

“MultiGate” może posiadać różne piny punktów wyjścia. Przy każdym wykonaniu MultiGate tylko jeden z pinów punktu wyjścia zostanie wykonany. Kolejność ich jest wykonywana losowa. Gdy wszystkie piny punktów wyjścia zostaną wykonane, przy czym jeśli opcja “Loop” zostanie odznaczona, to “MultiGate” przestanie wykonywać piny punktów wyjścia. W kolejności “Multigate” by uruchomić piny ponownie, pin “Reset” musi zostać triggered.

Punkty wyjścia mogą zostać dodane klikając na opcję “Add pin +“. By usunąć pin, klikamy prawym przyciskiem myszki i wybieramy opcję “Remove execution pin“.

Punkty wejścia:

  • Reset: wykonanie pinu jest użyte do restartu MultiGate i pozwala na nowe wykonanie punktów wyjścia.
  • Is Random: wartość zmiennej Boolean. Jeśli jest prawdziwa to wskazuje, że kolejność wykonywania pinów jest losowa
  • Loop: wartość zmiennej Boolean. Jeśli jest prawdziwa to “MultiGate” kontynuuje wykonywanie punktów wyjścia po ostatnim wykonaniu pina
  • Start Index: Wartość Integer wskazująca pierwszy pin punktu wyjścia do wykonania.

Przykładowe użycie:

W naszym poziomie istnieje obiekt o nazwie “MaterialDisplay”, którego funkcją jest wyświetlanie różnych materiałow dla użytkownika. Gdy przycisk “Enter” zostanie wciśnięty to “MultiGate” zostanie użyty do zdefiniowania innych materiałów dla każdego wykonania. Gdy opcja “Loop” zostanie zaznaczona po wykonaniu ostatniego pinu punktu wyjścia, “MultiGate” wróci do pierwszego pinu punktu wyjścia.

05_bpc3_multigate

Ważne: “MultiGate” i inne akcje takie jak “Gate“, “Do Once“, “Do N” oraz “Flip Flop” mają wewnętrzne zmienne, które przechowują ich obecny status. Powodem tego jest, że owe akcje nie działają poprawnie wewnątrz funkcji, gdyż za każdym razem gdy funkcja zostanie wykonana, to wewnętrzna zmienna użyta w funkcji zostanie zrestartowana.


Źródło:http://romeroblueprints.blogspot.com/2017/02/bp-compendium-3-multigate.html