/** * 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 }