public ThreadedRequest <PathfindingRequest, PathfindingResult> Post(PathfindingRequest request) { var realReq = ThreadedRequest <PathfindingRequest, PathfindingResult> .Create(request.UponProcessed, request); base.Post(realReq); return(realReq); }
public void PlotPath(Point destination) { if (IsPlottingPath) { CancelPathPlot(); } var tp = base.TilePosition; PathfindingRequest req = new PathfindingRequest(tp.X, tp.Y, destination.X, destination.Y, PathCallback); realPathReq = JEngine.Pathfinding.Post(req); }
private void PathCallback(ThreadedRequestResult requestResult, PathfindingResult pathResult) { if (requestResult == ThreadedRequestResult.Cancelled) { return; } if (requestResult == ThreadedRequestResult.Run) { CurrentPath = pathResult.Path; } realPathReq = null; OnPathfindingReturn(requestResult, pathResult); }
public static ThreadedRequest <int[], double> Create(Action <ThreadedRequestResult, double> uponComplete, params int[] inputs) { return(ThreadedRequest <int[], double> .Create(uponComplete, inputs)); }