прототип 2.4
нужно обеспечить полную уникальность UUID после:
админ сохранил предметы в автозагрузчик, но UUID предметов сохраняются те же самые что у этих предметов, тоесть на карте будут клоны из автозагрузчика и из слотов админа
это уже не нужно, т.к. я вспомнил что кнопка как платный предмет не имеет права перехода в другой слот методом копирования,а значит нет смысла гонятся за изменившимися UUID, даже если игрок сохранил убегу в другой слот, тут возникает другой момент, ну сохранил он эту убегу в другой слот, кнопка то не сохранилась в новый слот, ей с ними нельзя бежать, но они то теперь на карте из другого слота фактически), а значит у них новые UUID а у нее записаны те UUID которые были у этих предметов до сохранения предметов в другой слот, и тут важно чтобы игрок это понял )
игрок загрузил свой слот из снимка и захотел сохранить, но сохранить в другой слот!
игрок хочет сохранить содержимое сохраненное в одном слоте в другой слот
на данный момент я еще не придумал как до процесса сохранения давать предметам другие UUID в описанных сверху ситуациях, по причине того что кнопка может оказатся внизу сохранения, а описанные в ней действия над предметами в ней самой, выходит я должен знать новый и старый UUID уже до процесса сохранения. чтобы в кнопке были УЖЕ новые UUID.
данный прототип является заключительным в сложной подкапотной рутине, после него можно приступать к написанию прототипа 3, где будет меню под настройку кнопок и покупки кнопок.
думаю надо написать функцию которая бы в первом проходе составила бы список какие UUID будут иметь дело в сохранении, попутно делая связки старый UUID => новый UUID, во втором проходе нужно провести обработку содержимого действий кнопок чтобы создать клоны веток в памяти но уже с новыми ид, на третьем этапе тем предметам которым будут нужные новые UUID она будет давать исходя и ранее сгенерированой связи старый = новый ид, а действия уже обработаны