Я создаю бесконечный 2d генератор местности, в котором есть все виды плиток / блоков.Кроме того, некоторые плитки имеют специальные функции, которые описаны в их собственных сценариях.
Например, плитка улья может порождать пчел вокруг нее.Плитка грязи может превратиться в траву, если рядом есть трава и т. Д.
Теперь все эти плитки почти являются одними и теми же объектами GameObjects, за исключением того, что они используют спрайт (значок).и сценарий, описывающий их поведение.
Теперь я мог бы легко сделать сборную из всех плиток и создать префаб при загрузке новой местности и уничтожить сборную, когда она была выгружена, но это, конечно, не будетХорошая идея для сборщика мусора, так как эти плитки порождаются в порядке сотен секунд.
Кроме того, пул объектов здесь НЕ , так как здесь слишком много объектов, которые мне нужно создать вначало (10 тысяч).
Итак, это моя проблема:
У меня есть грязная плитка, на которой есть скрипт Dirt.По прошествии некоторого времени я хотел бы преобразовать его в фрагмент травы, в котором есть компонент сценария Grass, но не Dirt.
Есть ли лучший способ преобразования этих объектов GameObject, кроме удаления сценария Dirt и добавления сценария Grass?Кроме того, насколько эффективно добавление и удаление компонентов в больших количествах?