/** * Copyright 1998-2013 Epic Games, Inc. All Rights Reserved. */ class PathGoalEvaluator extends Object native(AI); cpptext { // Interface virtual UBOOL InitialAbortCheck( ANavigationPoint* Start, APawn* Pawn ); virtual UBOOL EvaluateGoal(ANavigationPoint*& PossibleGoal, APawn* Pawn); virtual UBOOL DetermineFinalGoal( ANavigationPoint*& out_GoalNav ); virtual void NotifyExceededMaxPathVisits( ANavigationPoint* BestGuess ); } /** Next goal evaluator */ var protected PathGoalEvaluator NextEvaluator; /** Goal that was reached */ var protected NavigationPoint GeneratedGoal; /** maximum number of NavigationPoints to test before giving up */ var protected int MaxPathVisits; // index into the goaleval cache for this class' pool var const int CacheIdx; `if(`__TW_) var bool bDebug; `endif event Recycle() { GeneratedGoal=none; NextEvaluator=none; } event String GetDumpString() { return String(self); } defaultproperties { MaxPathVisits=2048 CacheIdx=-1 }