Open Source/IncrementalTrigger - Unreal Wiki

# Open Source/IncrementalTrigger

### From Unreal Wiki, The Unreal Engine Documentation Site

## About

This trigger is similar to the Round Robin class but instead of triggering all of the events in its array when it itself is triggered, it will only fire the first event. When it is triggered again, it will fire the second. The third time it is triggered, it will fire the third, and so on and so fourth until the last event has been triggered.

## Properties

### Visible

name Targets[16]
  An array of names. These names will be used to trigger events.

### Hidden

int iCurrentArray
  The position in the array of names.
bool bTriggered
  Set internally. True if this actor has been triggered.
bool bDisabled
  True when the trigger has triggered all events.

## Methods

PostBeginPlay()
  Starts the timer.
Timer()
  Controls array event triggering;
Trigger(Actor Other, Pawn EventInstigator)
  Called when this actor has been triggered.

## Source Code

    class IncrementalTrigger extends Actor
    placeable;

    var() name Targets[16]; //The things you wish to trigger
    var int iCurrentArray; //The position of the to-be triggered event in the array

    var bool bTriggered; //Internally Set Bool (Ignore It)
    var bool bDisabled;

    function PostBeginPlay()
    {
      SetTimer(1.0, True);
    }

    simulated function Timer()
    {

            if((bTriggered)) //If we've been triggered and...
            {
                if(!bDisabled) //If this isn't disabled...
                {
                            TriggerEvent(Targets[iCurrentArray], self, None); //Triggering The First Item In The Array

                            //if iCurrentArray number is smaller or equal to the arrays length..
                            if(iCurrentArray != (ArrayCount(Targets) - 1))
                            //then increase the CurrentArray count by 1 so it will trigger the next array item
                            iCurrentArray++;
                            else //if the CurrentArray count is bigger than the Array's length, Disable this actor.
                            bDisabled=false;

                            bTriggered=false;
                }
            }
    }

    simulated function Trigger( Actor Other, Pawn EventInstigator )
    {

           bTriggered = true;
    }

    DefaultProperties
    {
      bHidden=true
    }

## Related Topics

- Open_Source

##### Views

- Page
- Discussion
- Current revision

##### Search