1
0
KF2-Dev-Scripts/Engine/Classes/AISubsystem.uc
2020-12-13 18:01:13 +03:00

52 lines
2.0 KiB
Ucode

/**
* Copyright 2008 PCF, All Rights Reserved.
* This class is here because Engine needs to hold a pointer to an instance of it.
*/
class AISubsystem extends Subsystem
abstract
native;
var bool bImplementsNavMeshGeneration;
cpptext
{
virtual void Init(UBOOL bEngineStart = FALSE) PURE_VIRTUAL(UAISubsystem::Init,);
virtual void CleanUp(UBOOL bShutDown = FALSE) PURE_VIRTUAL(UAISubsystem::CleanUp,);
/** to be called on new level loading */
virtual void Reset() PURE_VIRTUAL(UAISubsystem::Reset,);
virtual void PrepareMapChange() PURE_VIRTUAL(UAISubsystem::PrepareMapChange,);
/** GC started, after all CALLBACK_PreGarbageCollection */
virtual void OnLevelStreamedOut(ULevel* Level) PURE_VIRTUAL(UAISubsystem::OnLevelStreamedOut,);
/** interface for triggering nav mesh generation */
virtual UBOOL GenerateNavMesh() { return FALSE; }
virtual void OnPIEStart() PURE_VIRTUAL(UAISubsystem::OnPIEStart,);
virtual void OnPIEFinished() PURE_VIRTUAL(UAISubsystem::OnPIEFinished,);
virtual void ToggleNavBy(AActor* Referencer, UBOOL bEnable, BYTE NavFlag=0) PURE_VIRTUAL(UAISubsystem::ToggleNavBy,);
virtual void ToggleNavBy(UComponent* Referencer, UBOOL bEnable, BYTE NavFlag=0) PURE_VIRTUAL(UAISubsystem::ToggleNavBy,);
virtual void ToggleNavBy(ACoverLink* Referencer, INT SlotIdx, UBOOL bEnable, BYTE NavFlag=0) PURE_VIRTUAL(UAISubsystem::ToggleNavBy,);
virtual void UpdateActionAreas() PURE_VIRTUAL(UAISubsystem::UpdateActionAreas,);
}
final native static noexport function ToggleNavByActor(Actor Referencer, bool bEnable);
final native static noexport function ToggleNavByComponent(Component Referencer, bool bEnable);
final native static noexport function ToggleNavByCover(CoverLink Referencer, int SlotIdx, bool bEnable);
`if(`__TW_)
/** Used to access the difficulty values from KFGame for BaseAI */
event float GetDifficultyValue(int Index)
{
return -1;
}
`endif
defaultproperties
{
bImplementsNavMeshGeneration=false
}