Gah - a solution with more questions. – EntropicLqd

UE3:GameCrowdDestination (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> Actor >> GameCrowdInteractionPoint >> GameCrowdDestination
Package: 
GameFramework
Implemented interfaces
EditorLinkSelectionInterface, GameCrowdSpawnInterface, Interface_NavigationHandle
Direct subclasses:
GameCrowdInteractionDestination, DynamicGameCrowdDestination

Where crowd agent is going. Destinations can kill agents that reach them or route them to another destination

Properties

Property group 'GameCrowdDestination'

bAllowAsPreviousDestination

Type: bool


bAvoidWhenPanicked

Type: bool

Don't go to this destination if panicked

bFleeDestination

Type: bool

Always run toward this destination

bKillWhenReached

Type: bool

If TRUE, kill crowd members when they reach this destination.

bMustReachExactly

Type: bool

Must reach this destination exactly - will force movement when close

bSkipBehaviorIfPanicked

Type: bool

Don't perform kismet or custom behavior at this destination if panicked

Default value: True

bSoftPerimeter

Type: bool

Whether agent should stop on reach edge of destination radius (if not reach exactly), or have a "soft" perimeter

Default value: True

Capacity

Type: int

How many agents can simultaneously have this as a destination

Default value: 1000

Frequency

Type: float

Adjusts the likelihood of agents to select this destination from list at previous destination

Default value: 1.0

InteractionDelay

Type: float

Time before an agent is allowed to attempt this sort of interaction again

InteractionTag

Type: name

Type of interaction

NextDestinations

Type: array<GameCrowdDestination>

Modifiers: duplicatetransient


QueueHead

Type: GameCrowdDestinationQueuePoint

Modifiers: duplicatetransient

queue point to use if this destination is at capacity

ReachedBehaviors

Type: array<GameCrowdAgent.BehaviorEntry>

Agents reaching this destination will pick a behavior from this list

Property group 'Restrictions'

RestrictedAgentClasses

Type: array<class<GameCrowdAgent> >

if set, agents of this class cannot use this destination

RestrictedArchetypes

Type: array<Object>

if set, agents from this archetype cannot use this destination

SupportedAgentClasses

Type: array<class<GameCrowdAgent> >

if set, only agents of this class can use this destination

SupportedArchetypes

Type: array<Object>

if set, agents from this archetype can use this destination

Property group 'Spawning'

bAllowsSpawning

Type: bool

True if spawning permitted at this node

Default value: True

bLineSpawner

Type: bool

Spawn in a line rather than in a circle.

bSpawnAtEdge

Type: bool

Whether to spawn agents only at the edge of the circle, or at any point within the circle.

SpawnRadius

Type: float

Radius to spawn around center of this destination

Default value: 200.0

Internal variables

AgentEnRoute

Type: GameCrowdAgent

Agent currently coming to this destination. Not guaranteed to be correct/exhaustive. Used to allow agents to trade places with nearer agent for destinations with queueing

bAdjacentToVisibleNode

Type: bool

Cache that node is currently adjacent to a visible node

bCanSpawnHereNow

Type: bool

This destination is currently available for spawning

bHasRestrictions

Type: bool

True if has supported class/archetype restrictions

bIsBeyondSpawnDistance

Type: bool

This destination is beyond the maximum spawn distance

bIsVisible

Type: bool

True if currently in line of sight of a player (may not be within view frustrum)

bLastAllowableResult

Type: bool

Caches most recent AllowableDestinationFor() result

bWillBeVisible

Type: bool

True if will become visible shortly based on player's current velocity

CustomerCount

Type: int

Modifiers: private

Current number of agents using this destination

ExactReachTolerance

Type: float


Default value: 3.0

LastSpawnTime

Type: float

Most recent time at which agent was spawned at this destination

NavigationHandle

Type: NavigationHandle


NavigationHandleClass

Type: class<NavigationHandle>

Navigation Handle used by agents requesting pathing

Default value: Class'Engine.NavigationHandle'

Priority

Type: float

Priority for spawning agents at this destination

QueryingAgent

Type: GameCrowdAgent

Agent that is currently requesting pathing

Default values

Property Value
bForceAllowKismetModification True
bStatic True
Components[2] GameDestinationConnRenderingComponent'ConnectionRenderer'
SupportedEvents[0] Class'GameFramework.SeqEvent_CrowdAgentReachedDestination'

Subobjects

CollisionCylinder

Class: Engine.CylinderComponent

Inherits from: GameCrowdInteractionPoint.CollisionCylinder

Property Value
ReplacementPrimitive None

ConnectionRenderer

Class: GameFramework.GameDestinationConnRenderingComponent

Property Value
ReplacementPrimitive None

Sprite

Class: Engine.SpriteComponent

Inherits from: GameCrowdInteractionPoint.Sprite

Property Value
ReplacementPrimitive None
Sprite Texture2D'EditorResources.Crowd.T_Crowd_Spawn'

Functions

Native functions

ReachedByAgent

native function bool ReachedByAgent (GameCrowdAgent Agent, Object.Vector TestPosition, bool bTestExactly)

Parameters:

  • Agent - is the agent being checked
  • Testposition - is the position to be tested
  • bTestExactly - if true and GameCrowdDestination.bMustReachExactly is true means ReachedByAgent() only returns true if right on the destination

Returns:

TRUE if Agent has reached this destination

Events

AllowableDestinationFor

event bool AllowableDestinationFor (GameCrowdAgent Agent)

Returns true if this destination is valid for Agent

DecrementCustomerCount

event DecrementCustomerCount (GameCrowdAgent DepartingAgent)

Decrement customer count. Update Queue if have one Be sure to decrement customer count from old destination before setting a new one! FIXMESTEVE - should probably wrap decrement old customercount into GameCrowdAgent.SetDestination()

GeneratePathToActor

event Object.Vector GeneratePathToActor (GameCrowdAgent Agent, Actor Goal, optional float WithinDistance, optional bool bAllowPartialPath)

Generate a path to Goal on behalf of the QueryingAgent

IncrementCustomerCount

event IncrementCustomerCount (GameCrowdAgent ArrivingAgent)

Increment customer count, or add agent to queue if needed

InitNavigationHandle

event InitNavigationHandle ()

spawn and init Navigation Handle

NotifyPathChanged

event NotifyPathChanged ()

Specified by: Interface_NavigationHandle.NotifyPathChanged

this event is called when an edge is deleted that this handle is actively using

PostBeginPlay

simulated event PostBeginPlay ()

Overrides: Actor.PostBeginPlay


ReachedDestination

event ReachedDestination (GameCrowdAgent Agent)

Called after Agent reaches this destination Will be called every tick as long as ReachedByAgent() is true and agent is not idle, so should change Agent to avoid this (change current destination, make agent idle, or kill agent) )

Parameters:

  • Agent - is the crowd agent that just reached this destination
  • bIgnoreKismet - skips generating Kismet event if true.

Other instance functions

AtCapacity

function bool AtCapacity ()


GetSpawnPosition

function GetSpawnPosition (SeqAct_GameCrowdSpawner Spawner, out Object.Vector SpawnPos, out Object.Rotator SpawnRot)

Specified by: GameCrowdSpawnInterface.GetSpawnPosition


PickNewDestinationFor

function PickNewDestinationFor (GameCrowdAgent Agent, bool bIgnoreRestrictions)

Pick a new destination from this one for agent.