rott/kf_sources/Engine/Classes/AIScript.uc
2026-07-14 20:27:09 +07:00

57 lines
1.6 KiB
Ucode

//=============================================================================
// AIScript - used by Level Designers to specify special AI scripts for pawns
// placed in a level, and to change which type of AI controller to use for a pawn.
// AIScripts can be shared by one or many pawns.
// Game specific subclasses of AIScript will have editable properties defining game specific behavior and AI
// This is a built-in Unreal class and it shouldn't be modified.
//=============================================================================
class AIScript extends Keypoint
native
placeable;
#exec Texture Import File=Textures\AIScript.pcx Name=S_AIScript Mips=Off MASKED=1
var() class<AIController> ControllerClass;
var bool bNavigate; // if true, put an associated path in the navigation network
var bool bLoggingEnabled;
var AIMarker myMarker;
cpptext
{
virtual INT AddMyMarker(AActor *S);
virtual void ClearMarker();
}
/* SpawnController()
Spawn and initialize an AI Controller (called by a non-player controlled Pawn at level startup)
*/
function SpawnControllerFor(Pawn P)
{
local AIController C;
if ( ControllerClass == None )
{
if ( P.ControllerClass == None )
return;
C = Spawn(P.ControllerClass,,,P.Location, P.Rotation);
}
else
C = Spawn(ControllerClass,,,P.Location, P.Rotation);
C.MyScript = self;
C.Possess(P);
}
function Actor GetMoveTarget()
{
if ( MyMarker != None )
return MyMarker;
return self;
}
function TakeOver(Pawn P);
defaultproperties
{
Texture=S_AIScript
DrawScale=+0.5
}