68 lines
1.4 KiB
Ucode
68 lines
1.4 KiB
Ucode
/**
|
|
* 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
|
|
}
|