void ShowColors(Node start, Node end)
    {
        if (start == null || end == null)
        {
            return;
        }

        if (m_frontierNodes != null)
        {
            m_grid.ColorNodeList(m_frontierNodes.ToList(), frontierColor);
        }

        if (m_exploredNodes != null)
        {
            m_grid.ColorNodeList(m_exploredNodes, exploredColor);
        }

        if (m_pathNodes != null && m_pathNodes.Count > 0)
        {
            m_grid.ColorNodeList(m_pathNodes, pathColor);
        }

        m_grid.ColorNode(start, startColor);
        m_grid.ColorNode(end, goalColor);
    }