Я хотел бы предложить гораздо более простой ответ.Я предполагаю, что эти изменения конфигурации предназначены только для тестирования во время разработки, верно?Тогда почему бы просто не иметь статический класс с вашими настройками:
public static class Debugging
{
public static bool ShowFPS = true;
public static bool PlaySound = false;
}
Таким образом, вам не нужно писать любой код для чтения значений с диска.Все, что вам нужно сделать, это что-то вроде if (Debugging.ShowFPS)
.Вам также не нужно писать код для изменения значений во время выполнения, кроме установки статического поля (Debugging.ShowFPS = false;
).
Подумайте об этом, если вы храните свои значения, скажем, в XML-файле, ваш рабочий процесс будет:
- Открыть файл
- Изменить значение
- Нажмите F5, чтобы запустить игру с измененными значениями
рабочий процесс точно такой же, с тем дополнительным преимуществом, что вам не нужно писать код для чтения и записи.Он также работает без изменений на всех поддерживаемых платформах.И если вы хотите быть на 100% уверены, что не забудете изменить настройку перед выпуском, вы можете использовать простой ifdef с правильными значениями для производства:
public static class Debugging
{
#if DEBUG
public static bool ShowFPS = true;
public static bool PlaySound = true;
#else
public static bool ShowFPS = false;
public static bool PlaySound = false;
#endif
}
Иногда лучший ответ -самый простой; -)