Переписать небольшую функцию на C#

Очень прошу помощи. В общем создаю проект WebGl. Все прекрасно работает в самой unity, но когда делаю билд под WebGL, то одна функция не отрабатывает, из-за чего вся игра ложится. Прошу помочь переписать функцию ниже, ибо я не разбираюсь в асинхронных функциях(изначально, этот фрагмент кода делал другой человек, с которым связи уже нет) Желательно, чтобы использовался IEnumerator, но любая реализация подойдет, лишь бы работало уже

Итак, злополучная функция:

private async void StartGame()
    {
        while (true)
        {
            OnTurn = Players[(int)Board.OnTurn];
            if (NoPossibleMoves()) break;

            Move move = await OnTurn.CalculateNextMove();

            if (OnTurn is Bot)
            {
                Bot bot = OnTurn as Bot;
                UiController.ShowSearchInfoText(bot.LastSearchResult);
                SelectPiece((int)move.FromSq);
                DoMove((int)move.ToSq);
            }
            else
            {
                await OnTurn.SelectPiece();
                if (SelectedPiece == null) continue;
                await OnTurn.DoMove();
            }
        }
        EndGame();
    }

Спасибо всем неравнодушным!


Ответы (0 шт):