public Queue <GameObject> GetRoute(GameObject startPosition, GameObject endPosition)
    {
        if (startPosition == endPosition)
        {
            return(null);
        }
        PossiblePositionDirections findPos = FindPosition(startPosition);

        if (findPos.position != null)
        {
            while (findPos.position != endPosition)
            {
                if (findPos.position == null)
                {
                    break;
                }
                float      distanceBuf   = Vector3.Distance(findPos.nextPosition[0].transform.position, endPosition.transform.position);
                GameObject gameObjectBuf = null;
                foreach (GameObject i in findPos.nextPosition)
                {
                    float distNew = Vector3.Distance(i.transform.position, endPosition.transform.position);
                    if (distNew <= distanceBuf)
                    {
                        distanceBuf   = distNew;
                        gameObjectBuf = i;
                    }
                }
                way.Enqueue(gameObjectBuf);
                findPos = FindPosition(gameObjectBuf);

                if (way.Count > 30)
                {
                    Debug.LogError("Cлишком большой маршрут "); return(null);
                }
            }
            return(way);
        }


        else
        {
            return(null);
        }
    }
    Queue <GameObject> way;                                                                //путь

    void Start()
    {
        way             = new Queue <GameObject>();
        listPos         = new List <PossiblePositionDirections>();
        tableForClient0 = new PossiblePositionDirections(posTableForClient0, posTableForClient1, posTableForClient6, posTableForClient3, posSink, posStartPlayer);
        listPos.Add(tableForClient0);
        tableForClient1 = new PossiblePositionDirections(posTableForClient1, posTableForClient0, posTableForClient4, posTableForClient2);
        listPos.Add(tableForClient1);
        tableForClient2 = new PossiblePositionDirections(posTableForClient2, posTableForClient1, posTableForClient5, posTableForClient3);
        listPos.Add(tableForClient2);
        tableForClient3 = new PossiblePositionDirections(posTableForClient3, posTableForClient2, posTableForClient5, posTableForClient0, posStartPlayer, posCoffee);
        listPos.Add(tableForClient3);
        tableForClient4 = new PossiblePositionDirections(posTableForClient4, posTableForClient1, posTableForClient5);
        listPos.Add(tableForClient4);
        tableForClient5 = new PossiblePositionDirections(posTableForClient5, posTableForClient2, posTableForClient3, posTableForClient4, posTableForClient6);
        listPos.Add(tableForClient5);
        tableForClient6 = new PossiblePositionDirections(posTableForClient6, posTableForClient5, posTableForClient0, posStartPlayer);
        listPos.Add(tableForClient6);
        tableSink = new PossiblePositionDirections(posSink, posTableForClient0, posStartPlayer);
        listPos.Add(tableSink);
        tableOrder = new PossiblePositionDirections(posTableOrder, posStartPlayer);
        listPos.Add(tableOrder);
        tableCoffee = new PossiblePositionDirections(posCoffee, posTableForClient3, posStartPlayer);
        listPos.Add(tableCoffee);
        readyFood0 = new PossiblePositionDirections(posReadyFood0, posStartPlayer);
        listPos.Add(readyFood0);
        readyFood1 = new PossiblePositionDirections(posReadyFood1, posStartPlayer);
        listPos.Add(readyFood1);
        readyFood2 = new PossiblePositionDirections(posReadyFood2, posStartPlayer);
        listPos.Add(readyFood2);
        readyFood3 = new PossiblePositionDirections(posReadyFood3, posStartPlayer);
        listPos.Add(readyFood3);
        readyFood3 = new PossiblePositionDirections(posReadyFood3, posStartPlayer);
        listPos.Add(readyFood3);
        startPlayer = new PossiblePositionDirections(posStartPlayer, posSink, posTableOrder, posReadyFood0, posReadyFood1, posReadyFood2, posReadyFood3, posCoffee, posTableForClient0, posTableForClient3, posTableForClient6);
        listPos.Add(startPlayer);
        // Queue<GameObject> test = GetRoute(posTableForClient1, posTableForClient3);
    }