void PathFinding::FindPath(sf::Vector2f currentPos, sf::Vector2f targetPos) { if(!m_initializedStartGoal) { for(int i = 0; i < m_openList.size(); i++) { delete m_openList.at(i); } m_openList.clear(); for(int i = 0; i < m_visitedList.size(); i++) { delete m_visitedList.at(i); } m_visitedList.clear(); for(int i = 0; i < m_pathToGoal.size(); i++) { delete m_pathToGoal.at(i); } m_pathToGoal.clear(); SearchCell start; start.m_xcoord = currentPos.x; start.m_ycoord = currentPos.y; SearchCell goal; goal.m_xcoord = targetPos.x; goal.m_ycoord = targetPos.y; SetStartAndGoal(start, goal); m_initializedStartGoal = true; } if(m_initializedStartGoal) { ContinuePath(); } }
void CPathFinding::FindPath(Vector3 currentPos, Vector3 targetPos) { if (!m_initialisedStartGoal) { for (int i = 0; i < m_openList.size(); i++) { delete m_openList[i]; } m_openList.clear(); for (int i = 0; i < m_visitedList.size(); i++) { delete m_visitedList[i]; } m_visitedList.clear(); for (int i = 0; i < m_pathToGoal.size(); i++) { delete m_pathToGoal[i]; } m_pathToGoal.clear(); // Initialise start CSearchCell start; start.m_xCoord = currentPos.x; start.m_zCoord = currentPos.z; // Initialise goal CSearchCell goal; goal.m_xCoord = targetPos.x; goal.m_zCoord = targetPos.z; SetStartAndGoal(start, goal); m_initialisedStartGoal = true; } if (m_initialisedStartGoal) { ContinuePath(); } }
void PathFinding::FindPath(Vector3 currentPos, Vector3 targetPos) { if (!m_initalizedStartGoal) { for (unsigned int i = 0; i < m_openList.size(); i++) delete m_openList[i]; m_openList.clear(); for (unsigned int i = 0; i < m_visitedList.size(); i++) delete m_visitedList[i]; m_visitedList.clear(); for (unsigned int i = 0; i < m_pathToGoal.size(); i++) delete m_pathToGoal[i]; m_pathToGoal.clear(); // INIT START SearchCell start; start.m_x_coord = (int)(currentPos.x / CELL_SIZE); start.m_y_coord = (int)(currentPos.y / CELL_SIZE); // INIT GOAL SearchCell goal; goal.m_x_coord = (int)(targetPos.x / CELL_SIZE); goal.m_y_coord = (int)(targetPos.y / CELL_SIZE); SetStartAndGoal(start, goal); m_initalizedStartGoal = true; } if (m_initalizedStartGoal) ContinuePath(); }