Exemplo n.º 1
0
 public PathGraph(CellLayer <CellInfo> cellInfo, IMobileInfo mobileInfo, IActor actor, IWorld world, bool checkForBlocked)
 {
     this.cellInfo   = cellInfo;
     World           = world;
     this.mobileInfo = mobileInfo;
     Actor           = actor;
     LaneBias        = 1;
     checkConditions = checkForBlocked ? CellConditions.TransientActors : CellConditions.None;
 }
Exemplo n.º 2
0
        public static IPathSearch FromPoints(IWorld world, IMobileInfo mi, IActor self, IEnumerable <CPos> froms, CPos target, bool checkForBlocked)
        {
            var graph  = new PathGraph(CellInfoLayerManager.Instance.NewLayer(world.Map), mi, self, world, checkForBlocked);
            var search = new PathSearch(graph)
            {
                heuristic = DefaultEstimator(target)
            };

            foreach (var sl in froms.Where(sl => world.Map.Contains(sl)))
            {
                search.AddInitialCell(sl);
            }

            return(search);
        }
Exemplo n.º 3
0
        public static IPathSearch FromPoint(IWorld world, IMobileInfo mi, IActor self, CPos from, CPos target, bool checkForBlocked)
        {
            var graph  = new PathGraph(CellInfoLayerManager.Instance.NewLayer(world.Map), mi, self, world, checkForBlocked);
            var search = new PathSearch(graph)
            {
                heuristic = DefaultEstimator(target)
            };

            if (world.Map.Contains(from))
            {
                search.AddInitialCell(from);
            }

            return(search);
        }
Exemplo n.º 4
0
        public static IPathSearch Search(IWorld world, IMobileInfo mi, IActor self, bool checkForBlocked)
        {
            var graph = new PathGraph(CellInfoLayerManager.Instance.NewLayer(world.Map), mi, self, world, checkForBlocked);

            return(new PathSearch(graph));
        }