Engine
Class Dispatcher

source: e:\games\UnrealTournament\Engine\Classes\Dispatcher.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Triggers
         |
         +--Engine.Dispatcher
Direct Known Subclasses:None

class Dispatcher
extends Engine.Triggers

//============================================================================= // Dispatcher: receives one trigger (corresponding to its name) as input, // then triggers a set of specifid events with optional delays. //=============================================================================
Variables
 float OutDelays[8]
           Relative delays before generating events.
 name OutEvents[8]
           Events to generate.
 int i
           Internal counter.

States
Dispatch

Function Summary
 void Trigger(Actor Other, Pawn EventInstigator)
     
//
// When dispatcher is triggered...
//


State Dispatch Function Summary



Source Code


00001	//=============================================================================
00002	// Dispatcher: receives one trigger (corresponding to its name) as input, 
00003	// then triggers a set of specifid events with optional delays.
00004	//=============================================================================
00005	class Dispatcher extends Triggers;
00006	
00007	#exec Texture Import File=Textures\Dispatch.pcx Name=S_Dispatcher Mips=Off Flags=2
00008	
00009	//-----------------------------------------------------------------------------
00010	// Dispatcher variables.
00011	
00012	var() name  OutEvents[8]; // Events to generate.
00013	var() float OutDelays[8]; // Relative delays before generating events.
00014	var int i;                // Internal counter.
00015	
00016	//=============================================================================
00017	// Dispatcher logic.
00018	
00019	//
00020	// When dispatcher is triggered...
00021	//
00022	function Trigger( actor Other, pawn EventInstigator )
00023	{
00024		Instigator = EventInstigator;
00025		gotostate('Dispatch');
00026	}
00027	
00028	//
00029	// Dispatch events.
00030	//
00031	state Dispatch
00032	{
00033	Begin:
00034		disable('Trigger');
00035		for( i=0; i<ArrayCount(OutEvents); i++ )
00036		{
00037			if( OutEvents[i] != '' )
00038			{
00039				Sleep( OutDelays[i] );
00040				foreach AllActors( class 'Actor', Target, OutEvents[i] )
00041					Target.Trigger( Self, Instigator );
00042			}
00043		}
00044		enable('Trigger');
00045	}
00046	
00047	defaultproperties
00048	{
00049	     Texture=Texture'Engine.S_Dispatcher'
00050	}

End Source Code