XNA - Как добавить файл settings.ini в игру по умолчанию при установке?
Я получил файл settings.ini, который я хочу включить в игру при установке. Он должен находиться в папке с именем "Настройки" и находиться в том же каталоге, что и остальная часть игры (например, исполняемый файл и папка с содержимым по умолчанию).
Я думал, что просто добавлю дополнительный пустой контентный проект в свое игровое решение и добавлю в него файл settings.ini.
Угадай, что! Не работает
Это дает мне следующую ошибку:
Ошибка 6 Не удается автоматически определить, какой импортер использовать для "Settings.ini". Там нет импортеров, которые обрабатывают этот тип файла. Укажите импортер, который обрабатывает этот тип файла в вашем проекте. PATH_TO_GAME\Settings\Settings.ini
Я немного погуглил, но, похоже, мне нужно написать собственный конвейер контента.
Есть ли лучший / более простой способ сделать это? Я не хочу тратить свое время на написание этой очень сложной части.
PS. Если я установлю игру и добавлю файл settings.ini в каталог настроек, я смогу записать и прочитать файл settings.ini. Но теперь я должен добавить файл settings.ini вручную, чего я не хочу. Я хочу, чтобы он был включен в игру при установке.
2 ответа
В вашем игровом проекте (не в контентном проекте!) Добавьте Settings
папка и Settings.ini
файл. Вы могли бы использовать Add -> Existing Item...
для файла, если у вас уже есть.
Под Properties
для файла установите Build Action
в Content
а также Copy to Output Directory
в Copy if newer
,
Ваш файл настроек теперь будет развернут вместе с вашим приложением.
Возьмите все содержимое вашего файла.ini и вставьте его в код вашей игры:
string path = @"path\to\your.ini";
if (!File.Exists(path))
using (var sw = File.CreateText(path))
{
sw.WriteLine(@"This is the .ini file text.");
sw.WriteLine(@"It can contain all sorts of characters, like !@#$%^&*()_+|");
sw.WriteLine(@"But you need to use double quotes "" so you don't get errors");
}