I search for solutions in this order: Past Code, Unreal Source, Wiki, BUF, groups.yahoo, google, screaming at monitor. – RegularX

Legacy:ASCriticalObjectiveVolume

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 19:40, 2 December 2005 by 192.251.69.54 (Talk)

Jump to: navigation, search
UT2004 :: Actor >> Brush >> Volume >> ASCriticalObjectiveVolume (Package: UT2k4Assault)

ASCriticalObjectiveVolumes are used in connection with GameObjectives in the UT2004 Assault gametype. If one or more GameObjectives have a CriticalObjectiveVolumeTag which matches this volume's Events->Tag, then whenever an attacker enters this volume, those objectives will be marked as "critical", and the "critical objective warning" (a siren and flashing HUD icon) will be signalled to the defending team.

Properties

Important Properties Inherited from Actor

Events->Tag
This actor is associated with one or more GameObjectives by matching this tag with the GameObjective's CriticalObjectiveVolumeTag property.

ASCriticalObjectiveVolume

Pawn ConstraintPawnClass
Only pawns matching this pawn class (or its descendants) will trigger the critical objective alarm when entering this volume.

(Hidden Properties)

Info CheckTimer
Internal timer used to periodically check if the objective is still "critical".

Functions

PostBeginPlay ( ) 
Skips normal Volume initialization and goes straight to super(Brush).PostBeginPlay() to avoid the AssociatedActorTag stuff in Volume (ASCriticalVolumes do not support associated actors).
Destroyed ( ) 
Clean up the CheckTimer, if there is one.
bool IsCriticalPawn (Pawn P) 
Determine whether the Pawn P matches the requirements (ConstraintPawnClass) for triggering a critical state for the objective.
bool IsStillCritical ( ) 
Determine whether there are any Pawns touching this volume which pass the IsCriticalPawn test. If there are, re-send the "critical objective warning" to the defenders of all of the objectives associated with this volume. If there aren't any valid touching Pawns, clear the "critical" status on all associated objectives.
Reset ( ) 
Go to the "Safe" state.

States

Safe (auto)

This is the "normal" state of the ASCriticalObjectiveVolume.

Events

Touch (Actor Other) 
If Other is a Pawn matching the ConstraintPawnClass, set all associated objectives "critical status" to true, send warning to their defenders, and go into the "Critical" state.

Critical

This state is entered after the Touch event (in the Safe state) has set the objectives to be "critical".

Functions

BeginState ( ) 
Create a new VolumeTimer (and store it in CheckTimer) to periodically see if we're still critical.
TimerPop (VolumeTimer T) 
When the CheckTimer pops, call IsStillCritical to check if we're still critical.

ObjectiveDisabled

Apparently entered when one of the associated objectives is disabled.

Functions

BeginState ( ) 
Check if we have any remaining active objectives, and if not, go to the "Disabled" state.

Disabled

This state is entered when we don't have any more active objectives to take care of.

Functions

BeginState ( ) 
If we have a CheckTimer, clean it up.

Related Topics