1
0
KF2-Dev-Scripts/KFGameContent/Classes/KFVolume_CameraFade.uc
2020-12-13 18:01:13 +03:00

50 lines
1.6 KiB
Ucode

//=============================================================================
// KFVolume_CameraFade
//=============================================================================
// Volume that can be used to trigger client camera fades, rather than using
// a more complicated Kismet setup.
//=============================================================================
// Killing Floor 2
// Copyright (C) 2017 Tripwire Interactive LLC
// - Dan Weiss
//=============================================================================
class KFVolume_CameraFade extends Volume
placeable;
/** Opacity at the start and end of the fade process */
var() float FadeOpacityStart<ClampMin = 0.0 | ClampMax = 1.0>;
var() float FadeOpacityEnd<ClampMin = 0.0 | ClampMax = 1.0>;
/** Time to use to achieve the fade */
var() float FadeTime;
simulated event Touch(Actor Other, PrimitiveComponent OtherComp, vector HitLocation, vector HitNormal)
{
local Pawn OtherPawn;
local KFPlayerController KFPC;
OtherPawn = Pawn(Other);
if (OtherPawn != none)
{
KFPC = KFPlayerController(OtherPawn.Controller);
if (KFPC != none && KFPC.IsLocalController())
{
if (KFPC.PlayerCamera != none && KFPC.PlayerCamera.FadeAmount == FadeOpacityEnd)
{
return;
}
KFPC.ClientSetCameraFade(true, MakeColor(0, 0, 0, 255), vect2d(FadeOpacityStart, FadeOpacityEnd), FadeTime);
}
}
}
defaultproperties
{
bCollideActors = true
SupportedEvents.Empty
FadeOpacityStart=0.0
FadeOpacityEnd=0.0
FadeTime=0.5
}