Как установить уникальную переменную для префаба после создания экземпляра с помощью единства цикла с #?

Я хочу установить переменную для моего дочернего класса префаба (ArchiveRow.cs) для каждого экземпляра префаба, созданного с помощью цикла foreach. Я могу создать экземпляр дочернего элемента в их родительском преобразовании и получить доступ к их классу (ArchiveRow.cs), но все дочерние элементы в их родительском элементе получают одну и ту же переменную, ведь я этого не хочу!

    foreach (var item in channels)
    {
        GameObject thisParent = Instantiate(parent, transform) as GameObject;

        foreach (var item2 in collections)
        {
            Instantiate(child);
            child.transform.parent = thisParent.transform;

            ArchiveRow archiveRowComponent = child.GetComponentInChildren<ArchiveRow>();
            archiveRowComponent.archiveId = item2.collectionId;

        }
    }

мой результат с кодом выше выглядит =>

    thisParent(1) ->
        child(1) ==> archiveId = 100
        child(2) ==> archiveId = 100
        ...

    thisParent(2)->
        child(1) ==> archiveId = 200
        child(2) ==> archiveId = 200
        ...

        ...

Но я хочу установить переменную, например =>

    thisParent(1) ->
        child(1) ==> archiveId = 100
        child(2) ==> archiveId = 150
        ...

    thisParent(2)->
        child(1) ==> archiveId = 200
        child(2) ==> archiveId = 250
        ...

        ...

person Rooz    schedule 19.05.2020    source источник


Ответы (1)


проблема скорее всего в ссылках.

So,

foreach (var item2 in collections)
{
    Instantiate(child);
    child.transform.parent = thisParent.transform;

    ArchiveRow archiveRowComponent = child.GetComponentInChildren<ArchiveRow>();
    var myid = item2.collectionId;
    archiveRowComponent.archiveId = myid;

}

должен это исправить.

person BugFinder    schedule 19.05.2020
comment
Затем я бы поставил под сомнение значения, которые вы читаете, тот факт, что они остаются такими же, как и первое, немного подозрительно - person BugFinder; 20.05.2020