Сабж: есть автомобиль, он формируется из частей (ну там кузов, капот,бампера и так далее) которые берутся instantiate-ом из папки resources. Название запчасти берется из массива с названиями, который в свою очередь заполняется из БД. Суть я думаю понятна - тюнинг авто. Для каждой модели машины отдельные запчасти разложены по вложенным папкам, то бишь все бамперы конкретного авто лежат в его папке "bumpers", спойлеры в "spoilers" и так далее. При запуске игры стартует цикл, который пробегает по всем папкам выбранной игроком модели авто (названия папок берутся из другого, статического массива) и инстансит оттуда префабы деталей с именами указанными в БД.
Собственно, с этим проблем нет, машина загружается и все на ней на месте. Проблема вот в чем: если в процессе игры стоковая деталь заменена на тюнинговую, то почему-то происходит не как должно быть (стоковая деталь исчезает а ее место занимает новая) а новая деталь занимает свое место но предыдущая не пропадает а остается на авто. Одним словом они торчат одна в другой. Названия деталей в папке различаются (скажем stock_bumper и tuning_bumper) а конструкция инстансирования такая:
Синтаксис:
Используется csharp
Instantiate(Resources.Load("Models/Cars/" + model + "/" + parts[i] + "/" + models[i])
где parts - массив с названиями папок запчастей, а models - массив с их моделями.
Опять-таки повторюсь - конструкция работает, все подгружается правильно, из нужных папок в нужные места. Индексы в массивах соответствуют друг другу, так что на место капота не загрузится например деталь из папки с фарами. Непонятно только, почему при замене детали подгружается и старая и новая, хотя название старой в цикл инстансирования уже не попадает. В иерархии объектов в инспекторе появляется деталь с нужным названием.
Вариант с необходимостью уничтожения предыдущего объекта отпадает, так как гараж где производится тюнинг и собственно игровая карта - разные сцены, так что после выхода из гаража машина собирается инстансом заново но уже по новым данным. Соответственно, старого объекта уже нет как такового, подгружается по умолчанию новая запчасть.
Наверно, немного путано разъяснил, но тем не менее, есть у кого идеи?