Я реализую сериализацию в своем игровом движке на основе компонентов, чтобы включить сохранение и загрузку в моей игре. Я использую Cereal, чтобы помочь мне с сериализацией. Тем не менее, две вещи, которые не ясны мне:Сериализация в компонентном игровом движке
У меня есть много компонентов, и эти компоненты также содержат классы и т.д. Мне нужно написать функции сериализации для всех из них? Это означало бы, что я должен написать около 100 функций сериализации. Большинство из них будут одинаковыми (просто сериализуйте все переменные-члены). Есть ли способ уменьшить объем работы?
Что делать, если я хочу сериализовать класс, содержащий классы из другой кодовой базы? Например, я использую SDL и TinyXml. Означает ли это, что мне приходится писать функции сериализации в этих кодах?
Надеюсь, я смогу помешать работе с грубой добавкой всех этих функций сериализации.
Спасибо! Наверное, мне просто нужно делать ворчание. Что вы думаете о сериализации классов из кодов, которые вы еще не написали? – DnDiene
Ну, сериализация, безусловно, не входит в число самых захватывающих задач в этом мире. С другой стороны, это заставляет нас думать о каждом объекте, что определяет его внутреннее состояние, его связь с другими объектами и «транзитивные» данные, которые не стоит хранить. Поэтому он заставляет вас получить определенное знание этих внешних кодовых баз и их архитектуры. – Christophe