UnrealI
Class FatnessTrigger

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

class FatnessTrigger
extends Engine.Triggers

//============================================================================= // FatnessTrigger // When triggered, alters the fatness of an actor from one state to another, // over a set time interval. //=============================================================================
Variables
 float ChangeTime
           How long does the change take?
 int EndFatness
           The final fatness of the object
 Actor FatActor
           How long does the change take?
 Name FatTag
           Tag of object to recieve Fattening/UnFattening
 int StartFatness
           The initial fatness of the object
 float TimePassed
           How long does the change take?


Function Summary
 void BeginPlay()
 void Tick(float DeltaTime)
 void Trigger(Actor Other, Pawn EventInstigator)



Source Code


00001	//=============================================================================
00002	// FatnessTrigger
00003	// When triggered, alters the fatness of an actor from one state to another,
00004	// over a set time interval.
00005	//=============================================================================
00006	class FatnessTrigger extends Triggers;
00007	
00008	var() Name  FatTag;		// Tag of object to recieve Fattening/UnFattening
00009	var() int   StartFatness;	// The initial fatness of the object
00010	var() int   EndFatness;		// The final fatness of the object
00011	var() float ChangeTime;		// How long does the change take?
00012	
00013	var Actor FatActor;
00014	var float TimePassed;
00015	
00016	function BeginPlay()
00017	{
00018		FatActor = None;
00019		TimePassed = 0;
00020	}
00021	
00022	function Trigger( Actor Other, Pawn EventInstigator )
00023	{
00024		// Find the object that should be changed
00025		if ( FatTag != '' )
00026			foreach AllActors( class 'Actor', FatActor, FatTag )
00027			{
00028			}
00029	
00030		if( FatActor != None )
00031		{
00032			Enable('Tick');
00033		}
00034	}
00035	
00036	function Tick( float DeltaTime )
00037	{
00038		local float CurFat, TimeRatio;
00039	
00040		if( FatActor != None )
00041		{
00042			// Check the timing
00043			TimePassed += DeltaTime;
00044			if( TimePassed >= ChangeTime )
00045			{
00046				TimeRatio = 1;
00047				Disable('Tick');
00048			}
00049			else TimeRatio = TimePassed/ChangeTime;
00050	
00051			// Continue the fattening process
00052			CurFat = (Float(EndFatness) - Float(StartFatness))*TimeRatio + Float(StartFatness);
00053			FatActor.fatness = Int( CurFat );
00054		}
00055		else Disable('Tick');
00056	}
00057	
00058	defaultproperties
00059	{
00060	}

End Source Code