Exemple #1
0
 void Start()
 {
     _this     = this;
     OPENSet   = new List <Spot> ();
     CLOSEDSet = new List <Spot> ();
     path      = new List <Spot> ();
 }
Exemple #2
0
    private BaseSearchAlgo GetAlgorithm()
    {
        BaseSearchAlgo algo = null;

        switch (m_searchAlgo)
        {
        case SearchAlgo.A_Star:
            algo = new AStar(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime);
            break;

        case SearchAlgo.Theta_Star:
            algo = new ThetaStar(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime);
            break;

        case SearchAlgo.LazyTheta_Star:
            algo = new LazyThetaStar(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime);
            break;

        case SearchAlgo.BestFirstSearch:
            algo = new BestFirstSearch(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime);
            break;

        case SearchAlgo.BreadthFirstSearch:
            algo = new BreadthFirstSearch(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime);
            break;

        case SearchAlgo.DijkstraSearch:
            algo = new DijkstraSearch(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime);
            break;

        case SearchAlgo.JPS:
            algo = new JumpPointSearch(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime);
            break;

        case SearchAlgo.JPSPlus:
            algo = new JPSPlus(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime);
            break;

        case SearchAlgo.BiA_Star:
            algo = new BiAStar(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime);
            break;

            #region Incremental
        case SearchAlgo.D_Star:
            algo = new DStar(m_startNode, m_goalNode, m_nodes, m_showTime);
            break;

        case SearchAlgo.FocussedD_Star:
            algo = new FocussedDStar(m_startNode, m_goalNode, m_nodes, m_showTime);
            break;

        case SearchAlgo.LPA_Star:
            algo = new LPAStar(m_startNode, m_goalNode, m_nodes, m_showTime);
            //algo = new LPAStar_Optimized(m_startNode, m_endNode, m_nodes, m_showTime);
            break;

        case SearchAlgo.DstarLite:
            algo = new DStarLite(m_startNode, m_goalNode, m_nodes, m_showTime);
            break;

        case SearchAlgo.Path_AA_Star:
            algo = new Path_AAStar(m_startNode, m_goalNode, m_nodes, m_showTime);
            break;

        case SearchAlgo.Tree_AA_Star:
            algo = new Tree_AAStar(m_startNode, m_goalNode, m_nodes, m_showTime);
            break;
            #endregion

            #region Moving Target
        case SearchAlgo.GAA_Star:
            algo = new GAAStar(m_startNode, m_goalNode, m_nodes, m_showTime);
            break;

        case SearchAlgo.GFRA_Star:
            algo = new GFRAStar(m_startNode, m_goalNode, m_nodes, m_showTime);
            break;

        case SearchAlgo.MT_DstarLite:
            algo = new MT_DStarLite(m_startNode, m_goalNode, m_nodes, m_showTime);
            break;
            #endregion

        case SearchAlgo.AnnotatedA_Star:
            algo = new AnnotatedAStar(m_startNode, m_goalNode, m_nodes, m_weight, m_showTime, m_unitSize);
            break;

        default:
            Debug.LogError($"No code for SearchAlgo={m_searchAlgo}");
            break;
        }

        return(algo);
    }