private void SearchPath(Pathfinder.PathfindingMode _SearchMode) { Debug.Log(_SearchMode); /** * if (m_StartTile == null) * { * m_StartTile = m_GameGrid.GetTileAt(m_RowStart, m_ColumnStart); * } * * if (m_EndTile == null) * { * m_EndTile = m_GameGrid.GetTileAt(m_RowEnd, m_ColumnEnd); * } * /**/ if (m_PathVisualizer) { m_PathVisualizer.gameObject.SetActive(false); } Path path = null; ChronoInfos infos = new ChronoInfos(); float timeLimit = m_HasLimitSearchTime ? m_TimeLimit : -1; switch (_SearchMode) { case Pathfinder.PathfindingMode.PM_Dijkstra: path = Pathfinder.SearchDijkstraPathFromTo(m_StartTile, m_EndTile, out infos, timeLimit); break; case Pathfinder.PathfindingMode.PM_Dijkstra_LinkOpti: path = Pathfinder.SearchDisjktraPathFromTo_LinkOpti(m_StartTile, m_EndTile, out infos, timeLimit); break; case Pathfinder.PathfindingMode.PM_AStar: path = Pathfinder.AStarCustomBasic(m_StartTile, m_EndTile, out infos, timeLimit); break; case Pathfinder.PathfindingMode.PM_AStar_LinkOpti: path = Pathfinder.AStar_LinkOpti(m_StartTile, m_EndTile, out infos, timeLimit); break; case Pathfinder.PathfindingMode.PM_HPA: path = Pathfinder.SearchHPAFromTo(m_GridClustered, m_StartTile, m_EndTile, out infos, timeLimit); break; default: break; } Debug.Log(infos.ToLogMessage()); m_Hud?.SetChronoLog(infos); if (m_PathVisualizer && path != null) { m_PathVisualizer.gameObject.SetActive(true); m_PathVisualizer.TracePath(path, m_GameGrid.TilesRows); } }