UMSEffects
Class MovingLight

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

class MovingLight
extends Engine.Light

//============================================================================= // // MovingLight.uc // // by Hugh Macdonald // //=============================================================================
Variables
 name FollowActor
 vector FollowOffset
 Actor Following
 bool bFollowing


Function Summary
 Actor FindActor(name ActorName)
 void PreBeginPlay()
 void Tick(float DeltaTime)



Source Code


00001	//=============================================================================
00002	//
00003	// MovingLight.uc
00004	//
00005	// by Hugh Macdonald
00006	//
00007	//=============================================================================
00008	
00009	class MovingLight extends Light;
00010	
00011	var() name FollowActor;
00012	var() vector FollowOffset;
00013	var actor Following;
00014	var bool bFollowing;
00015	
00016	function PreBeginPlay()
00017	{
00018		Following = FindActor(FollowActor);
00019		if(Following != NONE && bMovable && !bStatic)
00020			bFollowing = true;
00021	}
00022	
00023	function Tick(float DeltaTime)
00024	{
00025		if(bFollowing)
00026		{
00027			SetLocation(Following.Location + FollowOffset);
00028		}
00029	}
00030	
00031	function Actor FindActor(name ActorName)
00032	{
00033	    local Actor A;
00034	
00035	    foreach AllActors(class 'Actor', A)
00036	        if (ActorName == A.Tag || ActorName == A.Name)
00037	               return A;
00038	    //If there is no matching actor, return none.
00039	    return NONE;
00040	}
00041	
00042	defaultproperties
00043	{
00044	}

End Source Code