Core.Object | +--Engine.Actor | +--Engine.Pawn | +--UMSPawn.MoviePawn | +--UMSPawn.AccelerateMoviePawn
vector
AcceleratedPosition
CurrentSpeed
MovieAcceleration
float
TimeSinceStartX
TimeSinceStartY
TimeSinceStartZ
bool
bXAccel
bYAccel
bZAccel
void
ChangeAccel(vector AccelDir)
PreBeginPlay()
Tick(float DeltaTime)
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 }