public override IPathfinder <DefinitionNodeGrid, DijkstraNodeGrid, FlowField> CreatePathfinder() { var definitionNodeNetwork = GetDefinitionNodeNetwork(); if (definitionNodeNetwork == null) { throw new NoDefinitionNodeNetworkException(); } return(PathfinderFactory.CreateFlowFieldPathfinder(PathfindaxDualityCorePlugin.PathfindaxManager, definitionNodeNetwork, MaxClearance, MaxCachedFlowFields, AmountOfThreads)); }
public override IPathfinder <DefinitionNodeGrid, DijkstraNodeGrid, FlowField> CreatePathfinder() { try { var definitionNodeNetwork = GetDefinitionNodeNetwork(); if (definitionNodeNetwork == null) { throw new NoDefinitionNodeNetworkException(); } return(PathfinderFactory.CreateFlowFieldPathfinder(PathfindaxDualityCorePlugin.PathfindaxManager, definitionNodeNetwork, MaxClearance, MaxCachedFlowFields, AmountOfThreads)); } catch (Exception e) { Logs.Game.WriteError($"Could not generate the definitionnode network. Returning a dummy pathfinder that does nothing. The following error occurred: {LogFormat.Exception(e)}."); return(new DummyPathfinder <DefinitionNodeGrid, DijkstraNodeGrid, FlowField>()); } }