59 lines
1.4 KiB
Ucode
59 lines
1.4 KiB
Ucode
/*=============================================================================
|
|
// Ladders are associated with the LadderVolume that encompasses them, and provide AI navigation
|
|
// support for ladder volumes. Direction should be the direction that climbing pawns
|
|
// should face
|
|
// Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
|
============================================================================= */
|
|
|
|
class Ladder extends NavigationPoint
|
|
placeable
|
|
native;
|
|
|
|
cpptext
|
|
{
|
|
#if WITH_EDITOR
|
|
virtual UBOOL CanConnectTo(ANavigationPoint* Dest, UBOOL bCheckDistance);
|
|
void addReachSpecs(AScout *Scout, UBOOL bOnlyChanged=0);
|
|
#endif
|
|
void InitForPathFinding();
|
|
void ClearPaths();
|
|
virtual UBOOL ReachedBy(APawn* P, const FVector& TestPosition, const FVector& Dest);
|
|
}
|
|
|
|
var LadderVolume MyLadder;
|
|
var Ladder LadderList;
|
|
|
|
/*
|
|
Check if ladder is already occupied
|
|
*/
|
|
event bool SuggestMovePreparation(Pawn Other)
|
|
{
|
|
if ( MyLadder == None )
|
|
return false;
|
|
|
|
if ( !MyLadder.InUse(Other) )
|
|
{
|
|
MyLadder.PendingClimber = Other;
|
|
return false;
|
|
}
|
|
|
|
Other.Controller.bPreparingMove = true;
|
|
Other.Acceleration = vect(0,0,0);
|
|
return true;
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
Begin Object NAME=CollisionCylinder
|
|
CollisionRadius=+00040.000000
|
|
CollisionHeight=+00080.000000
|
|
End Object
|
|
|
|
Begin Object NAME=Sprite
|
|
Sprite=Texture2D'EditorResources.S_Ladder'
|
|
End Object
|
|
|
|
bSpecialMove=true
|
|
bNotBased=true
|
|
}
|