Unity2019.2b - Добавление элемента в список <GameObject>делает зависание проигрывателя сцены и Unity полностью не отвечает. Ищем решения - PullRequest
1 голос
/ 07 июня 2019

Добавление элемента в List<GameObject> делает Unity зависшим и не отвечает.

Комментирование строки (которая делает игру неработоспособной, так как она является основным компонентом) делает эту проблему исчезающей.

Окружение проблемы с try { ... } catch (Exception e) { ... } ничем не отличается.

Журнал редактора печатает только Debug.Log(...) непосредственно перед ним и ничего более.

Изменение типа StraightDict на Array или Dict не влияет на проблему.

Существуют трехмерные области, состоящие из прямых игровых объектов, отмеченных Straight.

В начале

private static List<GameObject> StraightDict = new List<GameObject>();

В void Start() { ... }

for (int i = 0; i < 3; i++) {             
    InstantiateStraight();
}

А InstantiateStraight() - это:

    private void InstantiateStraight() {
        SectionHandler Previous = SectionList[SectionList.Count - 1];
        GameObject Straight = Instantiate(WorldObjects["Straight"], Previous.GetNextSectionPosition(false), Previous.GetNextQuaternion());
        Straight.transform.SetParent(World.transform, false);
        Debug.Log(Straight);

        try {
            StraightDict.Add(Straight);
        } catch (Exception e) {
            Debug.LogError(e);
        }

        SectionHandler SH = Straight.GetComponent<StraightHandler>();
        SH.WorldSpaceIndex = SectionList.Count;
        SH.SetDirection(Previous);
        SectionList.Add(SH);
        CurrentWorldLength += 1;
    }

Программа работала до 2 дней назад без изменения исходного кода или версии Unity. Это довольно простая операция, которая выполняется (добавление в список) и должна выполняться без заминки. Поэтому я спрашиваю, есть ли у кого-нибудь возможное решение моей проблемы.

EDIT Таким образом, похоже, что моя ошибка возникла из-за того, что копия вставляла сборник из другого проекта через окна таким образом, чтобы не вызывать регенерацию файлов .meta (грязные ссылки).

...