private void SortRequests()
    {
        var pathRequestsTempList = _pathRequests.ToList();

        for (var i = 0; i < pathRequestsTempList.Count - 1; i++)
        {
            var swapped = false;
            for (var j = 0; j < pathRequestsTempList.Count - i - 1; j++)
            {
                if (PathTypeComparison.PriorityLevel(pathRequestsTempList[i].PathValues.PathType) >
                    PathTypeComparison.PriorityLevel(pathRequestsTempList[j + 1].PathValues.PathType))
                {
                    var temp = pathRequestsTempList[j];
                    pathRequestsTempList[j]     = pathRequestsTempList[j + 1];
                    pathRequestsTempList[j + 1] = temp;
                    swapped = true;
                }
            }

            if (!swapped)
            {
                break;
            }
        }

        _pathRequests.Clear();

        foreach (var request in pathRequestsTempList)
        {
            _pathRequests.Enqueue(request);
        }
    }
    public void Tick()
    {
        if (_pathRequestTracker.HasRequests() && _unitEnemyMover.CurrentRequest != null &&
            PathTypeComparison.PriorityLevel(_pathRequestTracker.PeekNextRequest().PathValues.PathType) <
            PathTypeComparison.PriorityLevel(_unitEnemyMover.CurrentRequest.PathValues.PathType))
        {
            _unitEnemyMover.FilterRequest(_pathRequestTracker.GetNextPathRequest());
            return;
        }

        if (PathManagementPaused())
        {
            return;
        }

        _unitEnemyMover.FilterRequest(_pathRequestTracker.GetNextPathRequest());
    }