Exemplo n.º 1
0
        public ThreadedRequest <PathfindingRequest, PathfindingResult> Post(PathfindingRequest request)
        {
            var realReq = ThreadedRequest <PathfindingRequest, PathfindingResult> .Create(request.UponProcessed, request);

            base.Post(realReq);
            return(realReq);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        private void PathCallback(ThreadedRequestResult requestResult, PathfindingResult pathResult)
        {
            if (requestResult == ThreadedRequestResult.Cancelled)
            {
                return;
            }

            if (requestResult == ThreadedRequestResult.Run)
            {
                CurrentPath = pathResult.Path;
            }

            realPathReq = null;

            OnPathfindingReturn(requestResult, pathResult);
        }
Exemplo n.º 4
0
 public static ThreadedRequest <int[], double> Create(Action <ThreadedRequestResult, double> uponComplete, params int[] inputs)
 {
     return(ThreadedRequest <int[], double> .Create(uponComplete, inputs));
 }