I'm a doctor, not a mechanic

UE3:UTBeamWeapon (UT3)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT3 Object >> Actor >> Inventory >> Weapon >> GameWeapon >> UTWeapon >> UTBeamWeapon
Package: 
UTGame
Direct subclass:
UTWeap_LinkGun
This class in other games:
UDK

Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.


BeamWeapons have at least 1 firing state set to WeaponBeamFiring. This class contains all of the basics needed for that type of weapon

Properties[edit]

BeamEmitter[edit]

Type: ParticleSystemComponent

Array size: 2

Holds the Emitter for the Beam

BeamFireAnim[edit]

Type: name

Array size: 2


BeamPostFireAnim[edit]

Type: name

Array size: 2


BeamPreFireAnim[edit]

Type: name

Array size: 2

Animations to play before firing the beam

BeamSockets[edit]

Type: name

Array size: 2

Where to attach the Beam

BeamTemplate[edit]

Type: ParticleSystem

Array size: 2

The Particle System Template for the Beam

BeamWeaponFireWaveForm[edit]

Type: ForceFeedbackWaveform


EndPointParamName[edit]

Type: name

The name of the EndPoint parameter

Subobjects[edit]

FirstPersonMesh[edit]

Class: UTGame.UTSkeletalMeshComponent

Inherits from: UTWeapon.FirstPersonMesh

No new values.

PickupMesh[edit]

Class: Engine.SkeletalMeshComponent

Inherits from: UTWeapon.PickupMesh

No new values.

Instance functions[edit]

AddBeamEmitter[edit]

simulated function AddBeamEmitter ()


DisplayDebug[edit]

simulated function DisplayDebug (HUD HUD, out float out_YL, out float out_YPos)

Overrides: UTWeapon.DisplayDebug

(Description copied from UTWeapon.DisplayDebug)
list important Weapon variables on canvas. HUD will call DisplayDebug() on the current ViewTarget when the ShowDebug exec is used

Parameters:

  • HUD - HUD with canvas to draw on
  • out_YL - Height of the current font
  • out_YPos - Y position on Canvas. out_YPos += out_YL, gives position to draw text for next debug line.

KillBeamEmitter[edit]

simulated function KillBeamEmitter ()


ProcessBeamHit[edit]

simulated function ProcessBeamHit (Object.Vector StartTrace, Object.Vector AimDir, out Actor.ImpactInfo TestImpact, float DeltaTime)


SetBeamEmitterHidden[edit]

simulated function SetBeamEmitterHidden (bool bHide)


UpdateBeam[edit]

simulated function UpdateBeam (float DeltaTime)

This function looks at who/what the beam is touching and deals with it accordingly. bInfoOnly is true when this function is called from a Tick. It causes the link portion to execute, but no damage/health is dealt out.

UpdateBeamEmitter[edit]

simulated function UpdateBeamEmitter (Object.Vector FlashLocation, Object.Vector HitNormal, Actor HitActor)


States[edit]

WeaponBeamFiring[edit]

State WeaponFiring See UTWeapon.WeaponFiring

Modifiers: simulated

WeaponBeamFiring.BeginState[edit]

simulated event BeginState (name PreviousStateName)

Overrides: Object.BeginState (global)

Called immediately when entering a state, while within the GotoState() call that caused the state change (before any state code is executed).

WeaponBeamFiring.EndState[edit]

simulated event EndState (name NextStateName)

Overrides: Object.EndState (global)

When leaving the state, shut everything down

WeaponBeamFiring.IsFiring[edit]

simulated event bool IsFiring ()

Overrides: Weapon.IsFiring (global)

Returns true if the weapon is firing, used by AI

WeaponBeamFiring.OnAnimEnd[edit]

event OnAnimEnd (AnimNodeSequence SeqNode, float PlayedTime, float ExcessTime)

Overrides: Actor.OnAnimEnd (global)

(Description copied from Actor.OnAnimEnd)
Event called when an AnimNodeSequence (in the animation tree of one of this Actor's SkeletalMeshComponents) reaches the end and stops. Will not get called if bLooping is 'true' on the AnimNodeSequence. bCauseActorAnimEnd must be set 'true' on the AnimNodeSequence for this event to get generated.

Parameters:

  • SeqNode - Node that finished playing. You can get to the SkeletalMeshComponent by looking at SeqNode->SkelComponent
  • PlayedTime - Time played on this animation. (play rate independant).
  • ExcessTime - how much time overlapped beyond end of animation. (play rate independant).

WeaponBeamFiring.Tick[edit]

simulated event Tick (float DeltaTime)

Overrides: Actor.Tick (global)

Update the beam and handle the effects

WeaponBeamFiring.EndFire[edit]

simulated function EndFire (byte FireModeNum)

Overrides: UTWeapon.EndFire (global)

When done firing, we have to make sure we unlink the weapon.

WeaponBeamFiring.PlayFireEffects[edit]

simulated function PlayFireEffects (byte FireModeNum, optional Object.Vector HitLocation)

Overrides: UTWeapon.PlayFireEffects (global)

PlayFireEffects Is the root function that handles all of the effects associated with a weapon. This function creates the 1st person effects. It should only be called on a locally controlled player.

WeaponBeamFiring.RefireCheckTimer[edit]

simulated function RefireCheckTimer ()

Overrides: UTWeapon.RefireCheckTimer (global)

In this weapon, RefireCheckTimer consumes ammo and deals out health/damage. It's not concerned with the effects. They are handled in the tick()

WeaponBeamFiring.ShakeView[edit]

simulated function ShakeView ()

Overrides: UTWeapon.ShakeView (global)

view shaking for the beam mode is handled in RefireCheckTimer()

WeaponBeamFiring.TryPutDown[edit]

simulated function bool TryPutDown ()

Overrides: UTWeapon.TryPutDown (global)

When attempting to put the weapon down, look to see if our MinReloadPct has been met. If so just put it down