There is no spoon

UE3:GameExplosionActor (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> Actor >> GameExplosionActor
Package: 
GameFramework


Properties

bActiveReloadBonusActive

Type: bool

Whether or not this Explosion is from something that has an ActiveReload bonus that is active *

bDrawDebug

Type: bool

Toggles debug explosion rendering.

bHasExploded

Type: bool

Modifiers: protected, transient

True if explosion has occurred.

DirectionalExplosionMinDot

Type: float

Modifiers: transient

Minimum dot product for explosion to be able to affect a point. Used as an optimization for directional explosions.

ExplosionDirection

Type: Object.Vector

Modifiers: transient

Forward dir for directional explosions.

ExplosionLight

Type: PointLightComponent

Modifiers: protected, transient

The actual light used for the explosion.

ExplosionRadialBlur

Type: RadialBlurComponent

Modifiers: protected, transient

Temp data for radial blur fading.

ExplosionTemplate

Type: GameExplosion

Temp reference to the explosion template, used for delayed damage

HitActorFromPhysMaterialTrace

Type: Actor

This the saved off hit actor and location from the GetPhysicalMaterial trace so we can see if it is a FluidSurfaceActor and then apply some forces to it *

HitLocationFromPhysMaterialTrace

Type: Object.Vector


InstigatorController

Type: Controller

player responsible for damage

LightFadeTime

Type: float

Modifiers: protected, transient

Temp data for light fading.

LightFadeTimeRemaining

Type: float

Modifiers: protected, transient


LightInitialBrightness

Type: float

Modifiers: protected, transient


RadialBlurFadeTime

Type: float

Modifiers: protected, transient


RadialBlurFadeTimeRemaining

Type: float

Modifiers: protected, transient


RadialBlurMaxBlurAmount

Type: float

Modifiers: protected, transient


RadialImpulseComponent

Type: RB_RadialImpulseComponent

Modifiers: protected

Used to push physics when explosion goes off.

Default value: RB_RadialImpulseComponent'ImpulseComponent0'

Default values

Property Value
CollisionType COLLIDE_CustomDefault
Components[0] RB_RadialImpulseComponent'ImpulseComponent0'

Subobjects

ImpulseComponent0

Class: Engine.RB_RadialImpulseComponent

Property Value
ReplacementPrimitive None

Functions

Events

Explode

simulated event Explode (GameExplosion NewExplosionTemplate, optional Object.Vector Direction)

Parameters:

  • Direction - For bDirectionalExplosion=true explosions, this is the forward direction of the blast.

Todo: break this up into the same methods that NanoWeapon uses (SpawnImpactEffects, SpawnImpactSounds, SpawnImpactDecal) as they are all orthogonal and so indiv subclasses can choose to have base functionality or override

PreBeginPlay

event PreBeginPlay ()

Overrides: Actor.PreBeginPlay


Tick

simulated event Tick (float DeltaTime)

Overrides: Actor.Tick


Other instance functions

ChooseCameraShake

protected function CameraShake ChooseCameraShake (Object.Vector Epicenter, PlayerController PC)

Internal. When using directional camera shakes, used to determine which anim to use.

Todo: nativise for speed?

CringePawn

protected function CringePawn (GamePawn Victim, float DistFromExplosion)

Internal. Makes pawns cringe down from the explosion.

DoBreakFracturedMeshes

protected simulated function DoBreakFracturedMeshes (Object.Vector ExploOrigin, float DamageRadius, float RBStrength, class<DamageTypeDmgType)

Look for FSMAs in radius and break parts off.

DoCringesAndKnockdowns

protected function DoCringesAndKnockdowns ()

Internal. Handle making pawns cringe or fall down from nearby explosions. Server only.

DoExplosionCameraEffects

simulated function DoExplosionCameraEffects ()


DoExplosionDamage

simulated function DoExplosionDamage ()


DoFullDamageToActor

simulated function bool DoFullDamageToActor (Actor Victim)


DrawDebug

simulated function DrawDebug ()


GetPhysicalMaterial

simulated protected function PhysicalMaterial GetPhysicalMaterial ()

Internal. Tries to find a physical material for the surface the explosion occurred upon.

Note: It sucks doing an extra trace here. We could conceivably pass the physical material info around by changing the lower level physics code (e.g. processHitWall), but that's a big engine-level change.

HurtExplosion

protected simulated function HurtExplosion (float BaseDamage, float DamageRadius, float DamageFalloffExp, class<DamageTypeDamageType, float MomentumScale, Object.Vector ExploOrigin, Actor IgnoredActor, class<ActorActorClassToIgnoreForDamage, Controller InstigatedByController, bool bDoFullDamage)

Does damage modeling and application for explosions

IsBehindExplosion

simulated protected function bool IsBehindExplosion (Actor A)


KnockdownPawn

protected function KnockdownPawn (GamePawn Victim, float DistFromExplosion)

Internal. Knocks given pawn down from the explosion.

ShouldDoCringeFor

protected function bool ShouldDoCringeFor (GamePawn Victim)

Return if this particular actor should do a cringe/knockdown

SpawnExplosionDecal

simulated function SpawnExplosionDecal ()


SpawnExplosionFogVolume

simulated function SpawnExplosionFogVolume ()


SpawnExplosionParticleSystem

simulated function SpawnExplosionParticleSystem (ParticleSystem Template)


UpdateExplosionTemplateWithPerMaterialFX

simulated protected function UpdateExplosionTemplateWithPerMaterialFX (PhysicalMaterial PhysMaterial)

Internal. Extract what data we can from the physical material-based effects system and stuff it into the ExplosionTemplate. Data in the physical material will take precedence.

We are also going to be checking for relevance here as when any of these params are "none" / invalid we do not play those effects in Explode(). So this way we avoid any work on looking things up in the physmaterial