The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall

UE2:Controller (UT2004)

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 07:56, 15 April 2010 by Wormbo (Talk | contribs) (added descriptions for latent functions)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
UT2004 Object >> Actor >> Controller
Package: 
Engine
Direct subclasses:
AIController, PlayerController
This class in other games:
UE2Runtime, U2, U2XMP, UT2003, UT3, UDK

Controller, the base class of players or AI.

Controllers are non-physical actors that can be attached to a Pawn to control its actions. PlayerControllers are used by human players to control pawns, while AIControllers implement the artificial intelligence for the pawns they control. Controllers take control of a pawn using their Possess() method, and relinquish control of the pawn by calling UnPossess().

Controllers receive notifications for many of the events occuring for the Pawn they are controlling. This gives the controller the opportunity to implement the behavior in response to this event, intercepting the event and superceding the Pawn's default behavior.

Constants

LATENT_MOVETOWARD

Value: 503

InLatentExecution() number for MoveToward() function.

Properties

Property group 'Controller'

PlayerReplicationInfoClass

Type: class<PlayerReplicationInfo>

This controller's default type of PlayerReplicationInfo. Note that certain game types, e.g. Onslaught and Assault, override this property through their default mutators, e.g. ONSDefaultMut and ASMutator.

Default value: Class'Engine.PlayerReplicationInfo'

Internal variables

See Controller internal variables.

Default values

Property Value
bHidden True
bHiddenEd True
bOnlyRelevantToOwner True
RemoteRole ROLE_None
RotationRate
Member Value
Pitch 3072
Roll 2048
Yaw 30000

Functions

Latent functions

FinishRotation

native(508) final latent function FinishRotation ()

Waits until the controlled Pawn's Rotation.Yaw reaches the DesiredRotation.Yaw ± 2000URU (about 11 degrees), or no longer controlling a Pawn.

MoveTo

native(500) final latent function MoveTo (Object.Vector NewDestination, optional Actor ViewFocus, optional bool bShouldWalk)

Sets up the Pawn to move towards the specified location, optionally specifying a focus actor the Pawn should face during the move. Template:SetWalking() is called if Pawn.bIsWalking doesn't match the bShouldWalk parameter.

The function determines the approximate movement time required to reach the target and sets MoveTimer accordingly. Then it waits until either the MoveTimer drops below zero (it is counted down automatically, but can also be set from UnrealScript) or the Pawn starts falling, e.g. due to getting thrown into the air by weapon fire.

MoveToward

native(502) final latent function MoveToward (Actor NewTarget, optional Actor ViewFocus, optional float DestinationOffset, optional bool bUseStrafing, optional bool bShouldWalk)

Sets up the Pawn to move towards the specified actor, optionally specifying a focus actor the Pawn should face during the move. Template:SetWalking() is called if Pawn.bIsWalking doesn't match the bShouldWalk parameter.

If the target actor is a NavigationPoint and either has bSpecialMove set to True, its SuggestMovePreparation() function is called.

That function is also called if the target NavigationPoint is reached via a forced path and has bSpecialForced set to True. Otherwise PrepareForMove() or Controller events.MayDodgeToMoveTarget() is called to prepare for the move.

The function determines the approximate movement time required to reach the target and sets MoveTimer accordingly. Then it waits until either the MoveTimer drops below zero (it is counted down automatically, but can also be set from UnrealScript) or the Pawn starts falling, e.g. due to getting thrown into the air by weapon fire, or the MoveTarget is cleared.

WaitForLanding

native(527) final latent function WaitForLanding ()

If the controlled Pawn is in falling physics, this function waits until the Pawn changes to another physics type. If falling lasts more than four seconds, LongFall() is called every tick until either GotoState() is used to stop latent function execution or the Pawn landed.

Exec functions

SwitchToBestWeapon

exec function SwitchToBestWeapon ()


Native functions

actorReachable

native(520) final function bool actorReachable (Actor anActor)


AddController

native(529) final function AddController ()


CanMakePathTo

native final function bool CanMakePathTo (Actor A)


CanSee

native(533) final function bool CanSee (Pawn Other)


EAdjustJump

native(523) final function Object.Vector EAdjustJump (float BaseZ, float XYSpeed)


EndClimbLadder

native function EndClimbLadder ()


FindBestInventoryPath

native(540) final function Actor FindBestInventoryPath (out float MinWeight)


FindBestSuperPickup

native final function Actor FindBestSuperPickup (float MaxDist)


FindPathTo

native(518) final function Actor FindPathTo (Object.Vector aPoint)


FindPathToIntercept

native final function Actor FindPathToIntercept (Pawn P, Actor RouteGoal, optional bool bWeightDetours)


FindPathToward

native(517) final function Actor FindPathToward (Actor anActor, optional bool bWeightDetours)


FindPathTowardNearest

native final function Actor FindPathTowardNearest (class<NavigationPointGoalClass, optional bool bWeightDetours)


FindRandomDest

native(525) final function NavigationPoint FindRandomDest ()


InLatentExecution

native final function bool InLatentExecution (int LatentActionNumber)


LineOfSightTo

native(514) final function bool LineOfSightTo (Actor Other)


PickAnyTarget

native(534) final function Actor PickAnyTarget (out float bestAim, out float bestDist, Object.Vector FireDir, Object.Vector projStart)


PickTarget

native(531) final function Pawn PickTarget (out float bestAim, out float bestDist, Object.Vector FireDir, Object.Vector projStart, float MaxRange)


PickWallAdjust

native(526) final function bool PickWallAdjust (Object.Vector HitNormal)


pointReachable

native(521) final function bool pointReachable (Object.Vector aPoint)


RemoveController

native(530) final function RemoveController ()


StopWaiting

native function StopWaiting ()


Events

See Controller events.

Other instance functions

See Controller instance functions.

States

Dead

Ignores: HearNoise, KilledBy, SeePlayer

Dead.PawnDied

function PawnDied (Pawn P)

Overrides: PawnDied (global)


Dead.ServerReStartPlayer

function ServerReStartPlayer ()

Overrides: ServerReStartPlayer (global)


GameEnded

Ignores: Falling, HearNoise, HitWall, KilledBy, NotifyBump, NotifyHeadVolumeChange, NotifyPhysicsVolumeChange, ReceiveWarning, SeePlayer, TakeDamage

GameEnded.BeginState

event BeginState ()

Overrides: Object.BeginState (global)


RoundEnded

Ignores: Falling, HearNoise, HitWall, KilledBy, NotifyBump, NotifyHeadVolumeChange, NotifyPhysicsVolumeChange, ReceiveWarning, SeePlayer, TakeDamage

RoundEnded.BeginState

event BeginState ()

Overrides: Object.BeginState (global)