Core.Object | +--Engine.Actor | +--Engine.Projector
byte
AttachPriority
Box
int
FOV
plane
FrustumPlanes[6]
vector
FrustumVertices[8]
Matrix
GradientMatrix
MaxTraceDistance
Vector
OldLocation
Material
ProjTexture
name
ProjectTag
ProjectorRenderInfoPtr
RenderInfo
float
VScale
bool
bClipBSP
bFade
bLevelStatic
bProjectActor
bProjectBSP
bProjectOnAlpha
bProjectOnParallelBSP
bProjectOnUnlit
bProjectStaticMesh
bProjectTerrain
void
AbandonProjector(optional float)
AttachProjector()
// functions
DetachProjector(optional bool)
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 }