Автоматическая сериализация XNAB XNA: что она может делать и для чего лучше всего ее использовать? - PullRequest
0 голосов
/ 09 ноября 2011

Я видел несколько небольших примеров, опубликованных Шоном Харгривзом, показывающих ручное определение некоторого содержимого XML с намерением создавать и заполнять экземпляры классов C #, которые загружаются через конвейер содержимого.

Я вижу, что это было бы полезно, если бы у вас был редактор, способный записывать файл, позволяющий вам загружать уровень или что-то еще.

Но мне любопытно ... он выполняет только операции чтения? Можете ли вы использовать эту концепцию для сохранения игровых данных?

Для чего еще это может быть использовано?

1 Ответ

0 голосов
/ 09 ноября 2011

Автоматическая сериализация XNB ( details ) - это просто возможность для конвейера содержимого для чтения / записи данных без необходимости ContentTypeWriter или ContentTypeReader.На самом деле он не предоставляет никаких новых функций, кроме сокращения объема кода, который необходимо написать для использования конвейера контента.

Загрузка из XML (с использованием IntermediateSerializer или через конвейер контента с использованием импортера XML)это отдельная вещь.


IntermediateSerializer автоматически преобразует экземпляры объекта .NET в / из XML с использованием отражения.

Конвейер содержимого (независимо от того, используете ли вы автоматическую сериализацию XNB или нет)преобразует экземпляры объекта .NET в / из двоичных файлов XNB.

Конвейер содержимого также предоставляет расширяемую систему импорта / обработки на стороне построения контента для генерации объектов .NET в первую очередь (и этовключает в себя различные встроенные импортеры / процессоры).Встроенный импортер XML просто использует IntermediateSerializer для перехода от XML к экземпляру объекта .NET.


Причина, по которой вы не можете использовать их в своей игре, чтобыВыполнение операции записи (например, сохранение состояния игры, встроенный редактор уровней и т. д.) заключается в том, что IntermediateSerializer (как чтение, так и запись) и половина записи конвейера содержимого XNB требуют установки XNA Game Studio.

XNA Game Studio не подлежит распространению.(Только среда выполнения XNA является распространяемой.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...