Mi piacerebbe proporre una risposta molto più semplice. Presumo che queste modifiche alla configurazione siano solo per test durante lo sviluppo, giusto? Allora perché non basta avere una classe statica con le impostazioni:
public static class Debugging
{
public static bool ShowFPS = true;
public static bool PlaySound = false;
}
In questo modo, non è necessario scrivere alcun codice per la lettura dei valori dal disco. Tutto quello che devi fare è qualcosa come if (Debugging.ShowFPS)
. Inoltre, non è necessario scrivere alcun codice per modificare i valori in fase di runtime diverso dall'impostazione di un campo statico (Debugging.ShowFPS = false;
).
Pensateci, se si memorizzano i valori, per esempio, un file XML, il flusso di lavoro sarà:
- Aprire il file
- Modifica valore
- Premere F5 per eseguire il gioco con i valori modificati
il flusso di lavoro è esattamente lo stesso, con l'ulteriore vantaggio che non è necessario scrivere alcun codice per gestire la lettura e la scrittura. Funziona anche senza alcuna modifica su tutte le piattaforme supportate. E se si vuole essere sicuri al 100% che non si dimentica di cambiare un'impostazione prima di rilasciare, è possibile utilizzare un semplice ifdef con i valori corretti per la produzione:
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
}
A volte, la risposta migliore è la più semplice ;-)
fonte
2012-01-24 13:06:41
Se si desidera leggere ** e scrivere ** (in fase di esecuzione) il modo più semplice è utilizzare un "predefinito C# XML thingy". Ricerca lettura/scrittura XML. Non è poi tanto male. –
Questo potrebbe essere d'aiuto http://gamedev.stackexchange.com/questions/11306/configuration-management-in-xna –
Sì, leggi e scrivi. Ma per quanto riguarda xbox ...? Mi piacerebbe anche poter portare questo gioco su xbox. Sarà possibile leggere/scrivere xml durante l'esecuzione di giochi su Xbox? – NewProger