Once I get that upgrade to 36-hour days, I will tackle that. – Mychaeel

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[edit]

Property group 'GameCrowdDestination'[edit]

bAllowAsPreviousDestination[edit]

Type: bool


bAvoidWhenPanicked[edit]

Type: bool

Don't go to this destination if panicked

bFleeDestination[edit]

Type: bool

Always run toward this destination

bKillWhenReached[edit]

Type: bool

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

bMustReachExactly[edit]

Type: bool

Must reach this destination exactly - will force movement when close

bSkipBehaviorIfPanicked[edit]

Type: bool

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

Default value: True

bSoftPerimeter[edit]

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[edit]

Type: int

How many agents can simultaneously have this as a destination

Default value: 1000

Frequency[edit]

Type: float

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

Default value: 1.0

InteractionDelay[edit]

Type: float

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

InteractionTag[edit]

Type: name

Type of interaction

NextDestinations[edit]

Type: array<GameCrowdDestination>

Modifiers: duplicatetransient


QueueHead[edit]

Type: GameCrowdDestinationQueuePoint

Modifiers: duplicatetransient

queue point to use if this destination is at capacity

ReachedBehaviors[edit]

Type: array<GameCrowdAgent.BehaviorEntry>

Agents reaching this destination will pick a behavior from this list

Property group 'Restrictions'[edit]

RestrictedAgentClasses[edit]

Type: array<class<GameCrowdAgent> >

if set, agents of this class cannot use this destination

RestrictedArchetypes[edit]

Type: array<Object>

if set, agents from this archetype cannot use this destination

SupportedAgentClasses[edit]

Type: array<class<GameCrowdAgent> >

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

SupportedArchetypes[edit]

Type: array<Object>

if set, agents from this archetype can use this destination

Property group 'Spawning'[edit]

bAllowsSpawning[edit]

Type: bool

True if spawning permitted at this node

Default value: True

bLineSpawner[edit]

Type: bool

Spawn in a line rather than in a circle.

bSpawnAtEdge[edit]

Type: bool

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

SpawnRadius[edit]

Type: float

Radius to spawn around center of this destination

Default value: 200.0

Internal variables[edit]

AgentEnRoute[edit]

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[edit]

Type: bool

Cache that node is currently adjacent to a visible node

bCanSpawnHereNow[edit]

Type: bool

This destination is currently available for spawning

bHasRestrictions[edit]

Type: bool

True if has supported class/archetype restrictions

bIsBeyondSpawnDistance[edit]

Type: bool

This destination is beyond the maximum spawn distance

bIsVisible[edit]

Type: bool

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

bLastAllowableResult[edit]

Type: bool

Caches most recent AllowableDestinationFor() result

bWillBeVisible[edit]

Type: bool

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

CustomerCount[edit]

Type: int

Modifiers: private

Current number of agents using this destination

ExactReachTolerance[edit]

Type: float


Default value: 3.0

LastSpawnTime[edit]

Type: float

Most recent time at which agent was spawned at this destination

NavigationHandle[edit]

Type: NavigationHandle


NavigationHandleClass[edit]

Type: class<NavigationHandle>

Navigation Handle used by agents requesting pathing

Default value: Class'Engine.NavigationHandle'

Priority[edit]

Type: float

Priority for spawning agents at this destination

QueryingAgent[edit]

Type: GameCrowdAgent

Agent that is currently requesting pathing

Default values[edit]

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

Subobjects[edit]

CollisionCylinder[edit]

Class: Engine.CylinderComponent

Inherits from: GameCrowdInteractionPoint.CollisionCylinder

Property Value
ReplacementPrimitive None

ConnectionRenderer[edit]

Class: GameFramework.GameDestinationConnRenderingComponent

Property Value
ReplacementPrimitive None

Sprite[edit]

Class: Engine.SpriteComponent

Inherits from: GameCrowdInteractionPoint.Sprite

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

Functions[edit]

Native functions[edit]

ReachedByAgent[edit]

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[edit]

AllowableDestinationFor[edit]

event bool AllowableDestinationFor (GameCrowdAgent Agent)

Returns true if this destination is valid for Agent

DecrementCustomerCount[edit]

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[edit]

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[edit]

event IncrementCustomerCount (GameCrowdAgent ArrivingAgent)

Increment customer count, or add agent to queue if needed

InitNavigationHandle[edit]

event InitNavigationHandle ()

spawn and init Navigation Handle

NotifyPathChanged[edit]

event NotifyPathChanged ()

Specified by: Interface_NavigationHandle.NotifyPathChanged

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

PostBeginPlay[edit]

simulated event PostBeginPlay ()

Overrides: Actor.PostBeginPlay


ReachedDestination[edit]

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[edit]

AtCapacity[edit]

function bool AtCapacity ()


GetSpawnPosition[edit]

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

Specified by: GameCrowdSpawnInterface.GetSpawnPosition


PickNewDestinationFor[edit]

function PickNewDestinationFor (GameCrowdAgent Agent, bool bIgnoreRestrictions)

Pick a new destination from this one for agent.