Engine
Class ScriptAction

source: c:\runehov\Engine\Classes\ScriptAction.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Keypoint
         |
         +--Engine.ScriptAction
Direct Known Subclasses:None

class ScriptAction
extends Engine.Keypoint

//============================================================================= // ScriptAction. //=============================================================================
Variables
 Pawn WaitingScripter


Function Summary
 void Trigger(Actor Other, Pawn EventInstigator)



Source Code


00001	//=============================================================================
00002	// ScriptAction.
00003	//=============================================================================
00004	class ScriptAction expands Keypoint
00005		native;
00006	
00007	#exec Texture Import File=Textures\S_Action.pcx Name=S_Action Mips=Off Flags=2
00008	
00009	/* Description:
00010		When a pawn is 'Scripting' on a ScriptAction, he immediately executes the
00011		ScriptActions's Properties in the following order, then executes the NextOrders
00012	
00013		Look at looktarget
00014		Turn to rotation of ScriptAction (if bTurnToScriptAction)
00015		Start playing AnimToPlay
00016		Wait for PauseBeforeSound
00017		Play SoundToPlay
00018		Wait until AnimTimeToLoop expires (AnimTimeToLoop-PauseBeforeSound)
00019		Broadcast Event
00020		Do NextOrder
00021	
00022		Controls are timed control over dynamic joints, a letter = ControlTimeGranularity seconds
00023	
00024		eg:	aaaaaaaaaaamcmcmcmcmqmacamqd
00025	*/
00026	
00027	var(ScriptAnim) name		AnimToPlay;				// Animation to play
00028	var(ScriptSnd) float		PauseBeforeSound;		// Time until sound plays
00029	var(ScriptSnd) Sound		SoundToPlay;			// Sound to play
00030	var(ScriptAnim) float		AnimTimeToLoop;			// Time to loop anim (0=play once)
00031	
00032	var(ScriptVars) name		NextOrder;				// Order to execute after ReachOrder
00033	var(ScriptVars) name		NextOrderTag;			// associated object
00034	var(ScriptVars) bool		bReleaseUponCompletion;	// Once executed, release to AI
00035	var(ScriptVars) bool		bWaitToBeTriggered;		// Wait to be triggered before executing
00036	var(ScriptVars) bool		bFireEventImmediately;	// fire event after finishing animation
00037	var(ScriptVars) bool		bTurnToRotation;		// Turn to rotation of ScriptAction
00038	
00039	var(ScriptSync) string		ControlMouth;			// lip sync string
00040	var(ScriptSync) string		ControlTorso;			// torso control string [a=left, m=center, z=right]
00041	var(ScriptSync) string		ControlHead;			// head control string [a=left, m=center, z=right]
00042	var(ScriptSync) float		ControlTimeGranularity;	// amount of time to sustain each control movement
00043	var(ScriptSync) name		LookTarget;				// Target to look at, overrides head control
00044	
00045	// Internal variables
00046	var Pawn					WaitingScripter;
00047	
00048	
00049	
00050	function Trigger(actor Other, pawn EventInstigator)
00051	{
00052		// Pass this trigger message on to any waiting scripter
00053		if (WaitingScripter != None)
00054		{
00055			WaitingScripter.Release();
00056			WaitingScripter = None;
00057		}
00058	}
00059	
00060	defaultproperties
00061	{
00062	     NextOrder=Scripting
00063	     bDirectional=True
00064	     Texture=Texture'Engine.S_Action'
00065	}

End Source Code