80 lines
2.0 KiB
Ucode
80 lines
2.0 KiB
Ucode
/**
|
|
* Encapsulates a RB_RadialImpulseComponent to let a level designer place one in a level.
|
|
* When toggled from Kismet, will apply a kick to surrounding physics objects within blast radius.
|
|
* @see AddRadialImpulse
|
|
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
|
*/
|
|
class RB_RadialImpulseActor extends RigidBodyBase
|
|
native(Physics)
|
|
placeable;
|
|
|
|
var DrawSphereComponent RenderComponent;
|
|
var() const editconst RB_RadialImpulseComponent ImpulseComponent;
|
|
var repnotify byte ImpulseCount;
|
|
|
|
replication
|
|
{
|
|
if (bNetDirty)
|
|
ImpulseCount;
|
|
}
|
|
|
|
/** Handling Toggle event from Kismet. */
|
|
simulated function OnToggle(SeqAct_Toggle inAction)
|
|
{
|
|
if (inAction.InputLinks[0].bHasImpulse)
|
|
{
|
|
ImpulseComponent.FireImpulse( Location );
|
|
ImpulseCount++;
|
|
bForceNetUpdate = TRUE;
|
|
}
|
|
}
|
|
|
|
simulated event ReplicatedEvent(name VarName)
|
|
{
|
|
if (VarName == 'ImpulseCount')
|
|
{
|
|
ImpulseComponent.FireImpulse(Location);
|
|
}
|
|
}
|
|
|
|
cpptext
|
|
{
|
|
#if WITH_EDITOR
|
|
// AActor interface.
|
|
virtual void EditorApplyScale(const FVector& DeltaScale, const FMatrix& ScaleMatrix, const FVector* PivotLocation, UBOOL bAltDown, UBOOL bShiftDown, UBOOL bCtrlDown);
|
|
#endif
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
Begin Object Class=DrawSphereComponent Name=DrawSphere0
|
|
bDrawOnlyIfSelected=True
|
|
AlwaysLoadOnClient=False
|
|
AlwaysLoadOnServer=False
|
|
End Object
|
|
RenderComponent=DrawSphere0
|
|
Components.Add(DrawSphere0)
|
|
|
|
Begin Object Class=RB_RadialImpulseComponent Name=ImpulseComponent0
|
|
PreviewSphere=DrawSphere0
|
|
End Object
|
|
ImpulseComponent=ImpulseComponent0
|
|
Components.Add(ImpulseComponent0)
|
|
|
|
Begin Object Class=SpriteComponent Name=Sprite
|
|
Sprite=Texture2D'EditorResources.S_RadImpulse'
|
|
HiddenGame=True
|
|
AlwaysLoadOnClient=False
|
|
AlwaysLoadOnServer=False
|
|
SpriteCategoryName="Physics"
|
|
End Object
|
|
Components.Add(Sprite)
|
|
|
|
bEdShouldSnap=true
|
|
RemoteRole=ROLE_SimulatedProxy
|
|
bNoDelete=true
|
|
bAlwaysRelevant=true
|
|
NetUpdateFrequency=0.1
|
|
bOnlyDirtyReplication=true
|
|
}
|