## Engine
Class Volume

source: C:\XIII\Engine\Classes\Volume.uc

    Core.Object
       |
       +--Engine.Actor
          |
          +--Engine.Brush
             |
             +--Engine.Volume

Direct Known Subclasses:AudioTrigger, BlockingVolume, PhysicsVolume, DelimitationVolume, ZigouillateurVolume, Detectionvolume, HostageDetectVolume, WanderingVolume, DamageVolume, LethalVolume, SixSenseForcedVolume

class Volume
extends Engine.Brush

    //=============================================================================
    // Volume:  a bounding volume
    // touch() and untouch() notifications to the volume as actors enter or leave it
    // enteredvolume() and leftvolume() notifications when center of actor enters the volume
    // pawns with bIsPlayer==true  cause playerenteredvolume notifications instead of actorenteredvolume()
    // This is a built-in Unreal class and it shouldn't be modified.
    //=============================================================================

Variables
`Actor` | `AssociatedActor` this actor gets touch() and untouch notifications as the volume is entered or left
`name` | `AssociatedActorTag` Used by L.D. to specify tag of associated actor
`string` | `LocationName` Used by L.D. to specify tag of associated actor
`int` | `LocationPriority` Used by L.D. to specify tag of associated actor

States
AssociatedTouch

Function Summary
`bool` | `Encompasses(Actor Other)`
`void` | `PostBeginPlay()`
    // returns true if center of actor is within volume
`void` | `SetAssociatedActor(Actor Other)`

State AssociatedTouch Function Summary

Source Code

    00001	//=============================================================================
    00002	// Volume:  a bounding volume
    00003	// touch() and untouch() notifications to the volume as actors enter or leave it
    00004	// enteredvolume() and leftvolume() notifications when center of actor enters the volume
    00005	// pawns with bIsPlayer==true  cause playerenteredvolume notifications instead of actorenteredvolume()
    00006	// This is a built-in Unreal class and it shouldn't be modified.
    00007	//=============================================================================
    00008	class Volume extends Brush
    00009		native;
    00010
    00011	var Actor AssociatedActor;			// this actor gets touch() and untouch notifications as the volume is entered or left
    00012	var() name AssociatedActorTag;		// Used by L.D. to specify tag of associated actor
    00013	var() int LocationPriority;
    00014	var() string LocationName;
    00015
    00016	native function bool Encompasses(Actor Other); // returns true if center of actor is within volume
    00017
    00018	function PostBeginPlay()
    00019	{
    00020		Super.PostBeginPlay();
    00021		if ( (AssociatedActorTag != '') && (AssociatedActorTag != 'None') )
    00022			ForEach AllActors(class'Actor',AssociatedActor, AssociatedActorTag)
    00023				break;
    00024	}
    00025
    00026	function SetAssociatedActor(Actor Other)
    00027	{
    00028		AssociatedActor = Other;
    00029		if ( AssociatedActor != None )
    00030			GotoState('AssociatedTouch');
    00031		else
    00032			GotoState('');
    00033	}
    00034
    00035	State AssociatedTouch
    00036	{
    00037		event touch( Actor Other )
    00038		{
    00039			AssociatedActor.touch(Other);
    00040		}
    00041
    00042		event untouch( Actor Other )
    00043		{
    00044			AssociatedActor.untouch(Other);
    00045		}
    00046	}
    00047
    00048	defaultproperties
    00049	{
    00050	     LocationName="unspecified"
    00051	     bSkipActorPropertyReplication=True
    00052	     bCollideActors=True
    00053	     bCanSeeThrough=True
    00054	     bCanShootThroughWithRayCastingWeapon=True
    00055	     bCanShootThroughWithProjectileWeapon=True
    00056	}

End Source Code