XmlSerialize
Introduction
Example
public class ProfileSaveData
{
public string Name { get; set; }
public int Experience { get; set; }
public int Gold { get; set; }
}void CustomActivity(bool firstTimeCalled)
{
if(InputManager.Keyboard.KeyPushed(Keys.S))
{
PerformSave();
}
if(InputManager.Keyboard.KeyPushed(Keys.L))
{
PerformLoad();
}
}
private void PerformSave()
{
string fileName = "PlayerSave.xml";
// Normally you'd have the profile stored somewhere, but
// we'll just create one here
var saveData = new DataTypes.ProfileSaveData();
saveData.Name = "Cecil";
saveData.Gold = 3000;
saveData.Experience = 500;
FlatRedBall.IO.FileManager.XmlSerialize(saveData, fileName);
FlatRedBall.Debugging.Debugger.CommandLineWrite("Saved " + fileName);
}
private void PerformLoad()
{
string fileName = "PlayerSave.xml";
var doesFileExist = FlatRedBall.IO.FileManager.FileExists(fileName);
if(doesFileExist)
{
var saveData = FlatRedBall.IO.FileManager.XmlDeserialize<DataTypes.ProfileSaveData>(fileName);
FlatRedBall.Debugging.Debugger.CommandLineWrite("Loaded file!");
FlatRedBall.Debugging.Debugger.CommandLineWrite("Name:" + saveData.Name);
FlatRedBall.Debugging.Debugger.CommandLineWrite("Gold:" + saveData.Gold);
FlatRedBall.Debugging.Debugger.CommandLineWrite("Experience:" + saveData.Experience);
}
else
{
FlatRedBall.Debugging.Debugger.CommandLineWrite("Could not find file " + fileName);
}
}
Customizing Serialization
XmlSerialize can create a directory
"There was an error reflecting type"
Additional Information
Last updated
Was this helpful?