Unity3D - Пользовательская структура данных Tr ie работает в Windows, но не в Mac / HTML5? - PullRequest
0 голосов
/ 19 марта 2020

Работая над игрой, похожей на скрэббл, в движке Unity3D, и поэтому я превратил .txt словаря скрэбблов в алфавитный tr ie. Структура относительно проста: каждый узел в Tr ie содержит значение типа char, целую глубину, родительский узел, дочерние элементы списка и слова списка. Таким образом, слово MEATS вставляется в Tr ie как Узел A -> E -> M -> T -> S, и слово добавляется в Список слов этого S-узла. MATES также будет добавлен в список WORDS этого узла S, так как он имеет те же буквы, что и STEAM, TEAMS и т. Д. c.

. Процесс сборки словаря и поиска слов прекрасно работают в редакторе и встроенный .exe (я работаю над P C.) Словарь строится примерно за 3 секунды, и данная «рука» букв может найти все возможные слова в этой руке примерно за 100 мс.

Однако, когда я пытаюсь построить игру в HTML5 или для Ма c, поиск слова не выполняется. Моя текущая регистрация отладки такова, что все, что я знаю, это то, что список возможных возвращенных слов содержит 0 записей на этих платформах. Является ли это причиной того, что первоначальное создание словаря не удается, я не знаю. Я использую сопрограммы во время функции запуска игры (запускаются раньше всех других методов) для создания словаря tr ie, но не когда заполнение списка слов ... возможно ли, что в Ma c и HTML5 (но не в Windows) список возвращается до того, как поиск был фактически завершен? В чем может быть причина этих проблем с платформой c? Я готов поделиться кодом для класса Tr ie, построения словаря tr ie и поиска слов, если это вообще поможет

РЕДАКТИРОВАТЬ: После добавления дополнительных выходов в консоль я определил, что tr ie успешно сохраняет списки узлов и слов в Windows и HTML5. Похоже, что поиск слова не работает на HTML5. Я искренне не знаю, почему это будет

...