1
0
KF2-Dev-Scripts/Engine/Classes/ForceFieldShapeCapsule.uc

68 lines
1.4 KiB
Ucode
Raw Permalink Normal View History

2020-12-13 15:01:13 +00:00
/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
class ForceFieldShapeCapsule extends ForceFieldShape
native(ForceField)
;
var DrawCapsuleComponent Shape;
// UE3 capsule is x up by default. The fill... functions are not right because of the direction. Todo.
event float GetHeight()
{
return Shape.CapsuleHeight;
}
event float GetRadius()
{
return Shape.CapsuleRadius;
}
event FillBySphere(float Radius)
{
Shape.CapsuleRadius = Radius;
Shape.CapsuleHeight = 0;
}
event FillByBox(vector Extent)
{
Shape.CapsuleRadius = Sqrt(Extent.X*Extent.X + Extent.Y*Extent.Y);
Shape.CapsuleHeight = Extent.Z*2;
}
event FillByCapsule(float Height, float Radius)
{
Shape.CapsuleHeight = Height;
Shape.CapsuleRadius = Radius;
}
event FillByCylinder(float BottomRadius, float TopRadius, float Height, float HeightOffset)
{
Shape.CapsuleRadius = FMax(BottomRadius, TopRadius);
Shape.CapsuleHeight = Height;
}
event PrimitiveComponent GetDrawComponent()
{
return Shape;
}
cpptext
{
#if WITH_NOVODEX
virtual class NxForceFieldShapeDesc * CreateNxDesc();
#endif
}
defaultproperties
{
Begin Object Class=DrawCapsuleComponent Name=DrawCapsule0
CapsuleRadius=200.0
CapsuleHeight=200.0
Rotation=(Pitch=0, Yaw=0, Roll=16384)//make it z upwards like cylinder
End Object
Shape = DrawCapsule0
}