Меня интересует дизайн в игре. Моя текущая ситуация вращается вокруг Tiled - у меня есть много разных слоев с различными типами объектов (для тех, кто не знаком с Tiled, объект является не чем иным, как координатой с произвольными назначенными ему свойствами).
В настоящее время я перекомпилирую игру каждый раз, когда делаю небольшие изменения в файле карты, чтобы убедиться, что все расположено правильно. Есть ли способ для меня, чтобы моя игра автоматически перезагружала уровень, если обнаружено изменение файла карты? XNA даже допускает это, или способ, которым работает конвейер контента, не позволяет динамическое содержание таким способом? Любые советы или предложения приветствуются.
Вы также можете использовать Karvonite, если хотите, чтобы все было очень быстро.
Это гибкая основа постоянства. Я не уверен, будет ли новая версия работать на Windows Phone 7 или Xbox.
Вы бы создали определение персистентности с помощью их редактора персистентности (это довольно просто, вы просто импортируете сборку и проверяете поля / свойства тех классов / структур, которые хотите сохранить). Вы инициируете ObjectSpace в коде и добавляете / удаляете / получаете объекты из него. , (эти объекты сохраняются)
Если бы вы могли создать абстракцию так, чтобы движок плиток или как бы вы его ни называли, его не волнует, как именно он получает карту, просто он получает тот, о котором просил. Затем вы можете вернуться и использовать XmlSerializer или Intermediate. (что бы вы ни предпочли) Все, что вам нужно сделать для реализации этих других сериализаторов, - это создать еще одну реализацию абстракции (интерфейс или абстрактный класс).
Я думаю, что есть пример того, как создавать контент во время выполнения на веб-сайте клуба создателей XNA. Это может быть не построено с последними рамками, хотя. Таким образом, вы можете сохранить свой старый код, если вы уже используете конвейер контента. Вот ссылка: Winform Series 2: загрузка контента
источник