UMSPawn
Class AccelerateMoviePawn

source: e:\games\UnrealTournament\UMSPawn\Classes\AccelerateMoviePawn.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Pawn
         |
         +--UMSPawn.MoviePawn
            |
            +--UMSPawn.AccelerateMoviePawn
Direct Known Subclasses:None

class AccelerateMoviePawn
extends UMSPawn.MoviePawn


Variables
 vector AcceleratedPosition
 vector CurrentSpeed
 vector MovieAcceleration
 float TimeSinceStartX
 float TimeSinceStartY
 float TimeSinceStartZ
 bool bXAccel
 bool bYAccel
 bool bZAccel


Function Summary
 void ChangeAccel(vector AccelDir)
 void PreBeginPlay()
 void Tick(float DeltaTime)



Source Code


00001	class AccelerateMoviePawn expands MoviePawn;
00002	
00003	var() vector MovieAcceleration;
00004	var vector CurrentSpeed;
00005	var vector AcceleratedPosition;
00006	var float TimeSinceStartX;
00007	var float TimeSinceStartY;
00008	var float TimeSinceStartZ;
00009	var bool bXAccel;
00010	var bool bYAccel;
00011	var bool bZAccel;
00012	
00013	function Tick(float DeltaTime)
00014	{
00015		log(self$": Tick() called - about to call Super.Tick()");
00016		Super.Tick(DeltaTime);
00017		log(self$": Super.Tick() finished...");
00018		log(self$": bXAccel is currently"@bXAccel);
00019		log(self$": bYAccel is currently"@bYAccel);
00020		log(self$": bZAccel is currently"@bZAccel);
00021		
00022		if(bXAccel)
00023		{
00024			log(self$": bXAccel is true");
00025			TimeSinceStartX += DeltaTime;
00026			CurrentSpeed.X = TimeSinceStartX * MovieAcceleration.X;
00027		}
00028	
00029		if(bYAccel)
00030		{
00031			log(self$": bYAccel is true");
00032			TimeSinceStartY += DeltaTime;
00033			CurrentSpeed.Y = TimeSinceStartY * MovieAcceleration.Y;
00034		}
00035	
00036		if(bZAccel)
00037		{
00038			log(self$": bZAccel is true");
00039			TimeSinceStartZ += DeltaTime;
00040			CurrentSpeed.Z = TimeSinceStartZ * MovieAcceleration.Z;
00041		}
00042		
00043		log(self$": MovieAcceleration ="@MovieAcceleration);
00044		log(self$": CurrentSpeed ="@CurrentSpeed);
00045		
00046		log(self$": CurrentLocation ="@Location);
00047		
00048		AcceleratedPosition.X = (Location.X + (CurrentSpeed.X * DeltaTime));
00049		AcceleratedPosition.Y = (Location.Y + (CurrentSpeed.Y * DeltaTime));
00050		AcceleratedPosition.Z = (Location.Z + (CurrentSpeed.Z * DeltaTime));
00051		
00052		log(self$": AcceleratedLocation ="@AcceleratedPosition);
00053		
00054		SetLocation(AcceleratedPosition);
00055	}
00056	
00057	function PreBeginPlay()
00058	{
00059		CurrentSpeed.X = 0;
00060		CurrentSpeed.Y = 0;
00061		CurrentSpeed.Z = 0;
00062	}
00063	
00064	function ChangeAccel(vector AccelDir)
00065	{
00066		log(self$": ChangeAccel() called");
00067		
00068		if(AccelDir.X > 0)
00069		{
00070			log(self$": AccelDir.X > 0");
00071			bXAccel = true;
00072			TimeSinceStartX = 0;
00073		}
00074		else if(AccelDir.X < 0)
00075		{
00076			log(self$": AccelDir.X < 0");
00077			bXAccel = false;
00078		}
00079	
00080		if(AccelDir.Y > 0)
00081		{
00082			log(self$": AccelDir.Y > 0");
00083			bYAccel = true;
00084			TimeSinceStartY = 0;
00085		}
00086		else if(AccelDir.Y < 0)
00087		{
00088			log(self$": AccelDir.Y < 0");
00089			bYAccel = false;
00090		}
00091	
00092		if(AccelDir.Z > 0)
00093		{
00094			log(self$": AcelDir.Z > 0");
00095			bZAccel = true;
00096			TimeSinceStartZ = 0;
00097		}
00098		else if(AccelDir.Z < 0)
00099		{
00100			log(self$": AccelDir.Z < 0");
00101			bZAccel = false;
00102		}
00103	}
00104	
00105	defaultproperties
00106	{
00107	}

End Source Code