Lo digo porque según la documentación está dentro de XNA Game Studio 4.0 pero no encuentro la referencia y por supuesto no puedo usarlo. ¿Alguna idea?
Yo la tengo en:
C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Storage.dll (la de Xbox pues en Xbox).
Al crear un proyecto está añadida por defecto...
Vale, no me salía porque no existe nada parecido en Windows Phone y estaba con ese target seleccionado. ¿Entonces en Phone cómo se guarda partida? Porque imagino que habrá que hacer lo mismo que en el otro y abrir un fichero, ¿pero de dónde?
edit.- Buscando por ahí hablan de System.IO.IsolatedStorage IsolatedStorageFile, no sé si tendrá mucho que ver.
Sip, tienes que usar eso, es la misma API que también usan en Silverlight.
A ver si alguien sabe qué estoy haciendo mal. Básicamente estoy cargando una variable, incrementando su valor en 10 y guardando, de tal manera que en teoría cada nueva carga el valor será +10. LoadSaves para cargar el valor y SaveSaves para guardar.
private void LoadSaves()
{
IsolatedStorageFile storageFile = GetIsolatedStore();
IsolatedStorageFileStream storageFileStream = new IsolatedStorageFileStream(dBase.saveFileName, System.IO.FileMode.OpenOrCreate, storageFile);
if (storageFileStream.Length > 0)
{
BinaryReader reader = new BinaryReader(storageFileStream);
dBase.valor = reader.ReadInt32();
}
storageFileStream.Close();
dBase.valor += 10;
}
private void SaveSaves()
{
IsolatedStorageFile storageFile = GetIsolatedStore();
IsolatedStorageFileStream storageFileStream = new IsolatedStorageFileStream(dBase.saveFileName, System.IO.FileMode.Open, storageFile);
if (storageFileStream.Length > 0)
{
BinaryWriter writer = new BinaryWriter(storageFileStream);
writer.Write(dBase.valor);
}
storageFileStream.Close();
}
Petar no peta pero el valor es 10 siempre.
edit.- Vale, sobraba "/if (storageFileStream.Length > 0)" en saveSaves. ¿Si no he guardado nada nunca cómo va a tener tamaño? xDDD