63 lines
972 B
Ucode
63 lines
972 B
Ucode
class CameraTextureClient extends Info
|
|
placeable;
|
|
|
|
var() ScriptedTexture DestTexture;
|
|
var() name CameraTag;
|
|
var() float RefreshRate;
|
|
var() float FOV;
|
|
|
|
var Actor CameraActor;
|
|
|
|
//
|
|
// PostBeginPlay
|
|
//
|
|
|
|
simulated function PostBeginPlay()
|
|
{
|
|
local Actor CameraActorIt;
|
|
|
|
ForEach AllActors(class'Actor',CameraActorIt,CameraTag)
|
|
{
|
|
CameraActor = CameraActorIt;
|
|
break;
|
|
}
|
|
|
|
if(DestTexture != None)
|
|
{
|
|
DestTexture.Client = Self;
|
|
SetTimer(1.0 / RefreshRate,true);
|
|
Enable('Timer');
|
|
}
|
|
}
|
|
|
|
//
|
|
// Timer
|
|
//
|
|
|
|
simulated function Timer()
|
|
{
|
|
DestTexture.Revision++;
|
|
}
|
|
|
|
//
|
|
// RenderTexture
|
|
//
|
|
|
|
simulated event RenderTexture(ScriptedTexture Tex)
|
|
{
|
|
if(CameraActor != None)
|
|
Tex.DrawPortal(0,0,Tex.USize,Tex.VSize,CameraActor,CameraActor.Location,CameraActor.Rotation,FOV);
|
|
}
|
|
|
|
//
|
|
// Default properties
|
|
//
|
|
|
|
defaultproperties
|
|
{
|
|
bStatic=False
|
|
bAlwaysRelevant=True
|
|
bNoDelete=True
|
|
RefreshRate=60.0
|
|
FOV=60.0
|
|
} |