anchor.diff:    inherited;
     fHeap := TBinaryHeap.Create(MAX_POLYGONS);
     fHeap.Cmp := HeapCmp;
  +  {$IFDEF DEBUG_NavMeshPathFinding}
  +  fTimeSumShortest := 0;
  +  fTimeSumShortestPoly := 0;
  +  fTimeSumTraffic := 0;
  +  fTimeSumEnemy := 0;
  +  fTimePeakShortest := 0;
  +  fTimePeakShortestPoly := 0;
  +  fTimePeakTraffic := 0;
  +  fTimePeakEnemy := 0;
  +  {$ENDIF}
   end;
   
   
  
positive.code:     fGroupType: TKMGroupType;
      fMode: TPathfindingMode;
  
      function HeapCmp(A,B: Pointer): Boolean;
    protected
      function MovementCost(aIdx, aFrom, aTo: Word; var aSPoint, aEPoint: TKMPoint): Cardinal;
  
negative.code:     function AvoidTrafficRoute(aOwner: TKMHandID; aStart, aEnd: TKMPoint; out aDistance: Word; out aRoutePointArray: TKMPointArray): Boolean;
      function AvoidEnemyRoute(aOwner: TKMHandID; aGroup: TKMGroupType; aStart, aEnd: TKMPoint; out aDistance: Word; out aRoutePointArray: TKMPointArray): Boolean;
  
      {$IFDEF DEBUG_NavMeshPathFinding}
      procedure Paint();
      {$ENDIF}
    end;
  