UMSEffects
Class UMSEffects

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

class UMSEffects
extends UMS1_6.UMSModule


Variables
 MovieBlurMaster BlurFX


Function Summary
 void ExecuteSetSpeed()
     
//*******************************************************************
//SetSpeed Stuff
//*******************************************************************
 void ExecuteShake()
     
//*******************************************************************
//Shake Stuff
//*******************************************************************



Source Code


00001	class UMSEffects expands UMSModule;
00002	
00003	var MovieBlurMaster BlurFX;
00004	
00005	function bool runCommand(string Script[20])
00006	{
00007	    switch(Script[0])    
00008	    {
00009	        case "Effect":					// Trigger actor.
00010	            ExecuteEffect(Script);
00011				return true;
00012	            break;
00013	        case "SetSpeed":				// Set game speed. ( = Slomo X).
00014	            ExecuteSetSpeed();
00015				return true;
00016	            break;
00017	        case "Spawn":					// Spawns an actor.
00018	            ExecuteSpawn(Script);
00019				return true;
00020	            break;
00021	        case "Shake":					// Shakes Player view.
00022	            ExecuteShake();
00023				return true;
00024	            break;
00025	        case "Fade":					// Fade screen
00026	            ExecuteFade(Script);
00027				return true;
00028	            break;						// Director control directives
00029			case "MotionBlur":				
00030				ExecuteMotionBlur(Script);
00031				return true;
00032				break;
00033	    }
00034	
00035		return false;
00036	}
00037	
00038	
00039	//*******************************************************************
00040	//Effects Stuff
00041	//*******************************************************************
00042	
00043	function ExecuteEffect(string Script[20])
00044	{
00045	    local actor TargetEffect;
00046	    local pawn Instigator;
00047	    
00048	    //find the instigator
00049	    Instigator = FindPawn(Script[2]);
00050	    
00051	    //Go through and for EVERY actor whose tag matches word, trigger
00052	    foreach AllActors(class 'Actor', TargetEffect)
00053	        if (Script[1] ~= string(TargetEffect.Tag))
00054	               TargetEffect.Trigger(self, Instigator);
00055	}
00056	
00057	
00058	//*******************************************************************
00059	//SetSpeed Stuff
00060	//*******************************************************************
00061	
00062	function ExecuteSetSpeed()
00063	{
00064	    local float Speed;
00065	    
00066	    Speed = currentScriptVal;
00067	
00068	    Level.Game.Level.TimeDilation = Speed;
00069	    Level.Game.SetTimer(Level.TimeDilation, true);
00070	}
00071	
00072	
00073	//*******************************************************************
00074	//Spawn Stuff
00075	//*******************************************************************
00076	
00077	function ExecuteSpawn(string Script[20])
00078	{
00079	    local class<actor> SpawnClass;
00080	    local actor TargetActor;
00081	    local vector Offset;
00082	    local rotator TargetRotation;
00083	    local name TargetTag;
00084	    
00085	    SpawnClass = class<actor>(DynamicLoadObject(Script[1], class'Class'));
00086	    TargetActor = FindActor(Script[2]);
00087	        
00088	    if(TargetActor == NONE)
00089	        TargetActor = self;
00090	    
00091	    Offset = currentScriptVector;
00092	    TargetRotation = currentScriptRotator;
00093	    TargetTag = currentScriptName;
00094	    
00095	    Spawn(SpawnClass, self, TargetTag, (TargetActor.Location + Offset), TargetRotation);
00096	}
00097	
00098	
00099	//*******************************************************************
00100	//Shake Stuff
00101	//*******************************************************************
00102	
00103	function ExecuteShake()
00104	{
00105	    local PlayerPawn M;
00106	    local float ShakeTime, ShakeMag;
00107	
00108	    ShakeTime = currentScriptVal;
00109	    ShakeMag = VSize(currentScriptVector);
00110	
00111	    foreach AllActors(class 'PlayerPawn', M)
00112	    {
00113	        M.ShakeView(ShakeTime,ShakeMag, 0.015 * ShakeMag);
00114	    }
00115	}
00116	
00117	
00118	//*******************************************************************
00119	//Fade Stuff
00120	//*******************************************************************
00121	
00122	function ExecuteFade(string Script[20])
00123	{
00124	    local MoviePlayer P;
00125	    local vector FadeColor;
00126	    local float FadeTime;
00127	    local bool bFadeOut;
00128	
00129	    switch(Script[1])
00130	    {
00131	        case "In":
00132	            bFadeOut = false;
00133	            break;
00134	        case "Out":
00135	            bFadeOut = true;
00136	            break;
00137	    }
00138	    
00139	    FadeColor = currentScriptVector;
00140	    FadeTime = currentScriptVal;
00141	
00142	    foreach AllActors(class'MoviePlayer', P)
00143	        P.FadeView(FadeTime, FadeColor, bFadeOut);
00144	}
00145	
00146	
00147	//*******************************************************************
00148	//Motion Blur
00149	//*******************************************************************
00150	
00151	function ExecuteMotionBlur(string Script[20])
00152	{
00153	    if (Script[1] == "On") {
00154			
00155			BlurFX = spawn(class'MovieBlurMaster');
00156			BlurFX.bMotionBlur = true;
00157			BlurFX.MotionBlurTime = (1 / currentScriptVal);
00158			BlurFX.MotionBlurFadeRate = currentScriptVector.X;
00159			BlurFX.Enable ('Timer');
00160			BlurFX.SetTimer (BlurFX.MotionBlurTime,true);
00161		}
00162		else if (Script[1] == "Off") {
00163		
00164			BlurFX.Destroy();
00165		}
00166	}
00167	
00168	defaultproperties
00169	{
00170	}

End Source Code