SAVE/LOAD System ?
Я тут пилю симулятор потихоньку (без выходных 24/7) и решил сразу сделать редактор сценариев и всякого такого. Так вот сохранение Исследований, модулей и прочих вещей у меня вызывало некоторые проблемы, хотя я и раньше уже писал подобные системы, но более простые.
В общем сохраняю я каждую сущность в JSON с последующей десериализацией, вот только в Unity есть проблема - невозможно MonoBehavior десериализовать без наличия физически соответствующего объекта в сцене. Представим что у меня есть очень много Module - которые реализуются как наследники от базового класса и они отличаются друг от друга. Как видно из кода я создаю внутри каждого такого класса свой SaveData класс наследник от базового.
Почему? чтобы обойти невозможность десеарелизации Монобехов, я знаю что можно создать пустой класс в сцене и десериализовать, в него, а потом уже зная его класс создать непосредственно нужный и скопировать/удалить фейк монобех. Но это меня прям вымораживает, поэтому я и создал SaveData чтобы десериализовать его напрямую без создание фейковых монобехов, однако и это выглядит чересчур костыльно.
Мне кажется что есть более простые пути, но я их в упор не вижу. Спасибо.