Engine
Class Projector

source: C:\XIII\Engine\Classes\Projector.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Projector
Direct Known Subclasses:ShadowProjector, BloodFlow, BloodOnHead, BloodSplash, CorpseBlood, HandLiteProj, XIIIScorch

class Projector
extends Engine.Actor


Variables
 byte AttachPriority
 Box Box
 int FOV
 plane FrustumPlanes[6]
 vector FrustumVertices[8]
 Matrix GradientMatrix
 Matrix Matrix
 int MaxTraceDistance
 Vector OldLocation
 Material ProjTexture
 name ProjectTag
 ProjectorRenderInfoPtr RenderInfo
 float VScale
 bool bClipBSP
 bool bFade
 bool bLevelStatic
 bool bProjectActor
 bool bProjectBSP
 bool bProjectOnAlpha
 bool bProjectOnParallelBSP
 bool bProjectOnUnlit
 bool bProjectStaticMesh
 bool bProjectTerrain


Function Summary
 void AbandonProjector(optional float)
 void AttachProjector()
     
// functions
 void DetachProjector(optional bool)



Source Code


00001	class Projector extends Actor
00002		placeable
00003		native;
00004	
00005	#exec Texture Import File=Textures\Proj_IconMasked.pcx Name=Proj_Icon Mips=Off MASKED=1 COMPRESS=DXT1
00006	#exec Texture Import File=Textures\ProjGradient.tga Name=ProjGradient Mips=Off MASKED=0 COMPRESS=DXT3 UCLAMPMODE=CLAMP VCLAMPMODE=CLAMP
00007	#exec Texture Import File=Textures\ProjClip.tga Name=ProjClip Mips=Off MASKED=0 COMPRESS=DXT3 UCLAMPMODE=CLAMP VCLAMPMODE=CLAMP
00008	
00009	// public properties
00010	var transient Matrix GradientMatrix;
00011	var transient Matrix Matrix;
00012	var transient Vector OldLocation;
00013	var() Material	ProjTexture;
00014	var() int		FOV;
00015	var() int		MaxTraceDistance;
00016	var() bool		bProjectBSP;
00017	var() bool		bProjectTerrain;
00018	var() bool		bProjectStaticMesh;
00019	var() bool		bProjectActor;
00020	var() bool		bLevelStatic;
00021	var() bool		bClipBSP;
00022	var() bool		bProjectOnUnlit;
00023	var() bool		bFade;
00024	var() bool		bProjectOnAlpha;
00025	var() bool		bProjectOnParallelBSP;
00026	var() name		ProjectTag;
00027	var() float		VScale;
00028	var   byte		AttachPriority;
00029	
00030	var const transient plane FrustumPlanes[6];
00031	var const transient vector FrustumVertices[8];
00032	var const transient Box Box;
00033	struct ProjectorRenderInfoPtr { var int Ptr; };	// Hack to to fool C++ header generation...
00034	var const transient ProjectorRenderInfoPtr RenderInfo;
00035	
00036	
00037	// functions
00038	native function AttachProjector();
00039	native function DetachProjector(optional bool Force);
00040	native function AbandonProjector(optional float Lifetime);
00041	
00042	//native function AttachActor( Actor A );
00043	//native function DetachActor( Actor A );
00044	
00045	event PostBeginPlay()
00046	{
00047		AttachProjector();
00048		if( bLevelStatic )
00049		{
00050			AbandonProjector();
00051			Destroy();
00052		}
00053	/*	if( bProjectActor )
00054		{
00055			SetCollision(True, False, False);
00056			// GotoState('ProjectActors');  //FIXME - state doesn't exist
00057		}*/
00058	}
00059	
00060	/*event Touch( Actor Other )
00061	{
00062		//if( Other.bAcceptsProjectors && (ProjectTag=='' || Other.Tag==ProjectTag) )
00063			AttachActor(Other);
00064	}
00065	event Untouch( Actor Other )
00066	{
00067		DetachActor(Other);
00068	}*/
00069	
00070	defaultproperties
00071	{
00072	     MaxTraceDistance=1000
00073	     bProjectBSP=True
00074	     bProjectTerrain=True
00075	     bProjectStaticMesh=True
00076	     bProjectActor=True
00077	     VScale=1.000000
00078	     AttachPriority=5
00079	     bHidden=True
00080	     bInteractive=False
00081	     RemoteRole=ROLE_None
00082	     Texture=Texture'Engine.Proj_Icon'
00083	     bDirectional=True
00084	}

End Source Code