Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==== STORE CHARACTER ==== //
- public static void StoreCharacter(PlayerBase player)
- {
- using (Stream stream = File.Create(PlayerSettingsFile))
- {
- XmlSerializer ser = new XmlSerializer(player.GetType());
- ser.Serialize(stream, player);
- }
- }
- // ==== LOAD CHARACTER ==== //
- public static PlayerBase LoadGame()
- {
- if (!File.Exists(PlayerSettingsFile))
- {
- return new PlayerBase("No Char Found", EntityGender.Unknown);
- }
- var serializer = new XmlSerializer(typeof(PlayerBase));
- using (Stream reader = File.OpenRead(PlayerSettingsFile))
- {
- return (PlayerBase)serializer.Deserialize(reader);
- }
- }
- // ==== PlayerBase class === //
- [XmlInclude(typeof(Berserker))]
- [XmlInclude(typeof(Shaman))]
- public class PlayerBase : IEntity
- // === Berserker class === //
- public class Berserker : PlayerBase
- // === XML FILE === //
- <?xml version="1.0"?>
- <Berserker xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <Name>Fred</Name>
- <Strength>10</Strength>
- <Dexterity>5</Dexterity>
- <Wisdom>5</Wisdom>
- <Health>25</Health>
- <Gender>Male</Gender>
- <CharacterClass>Berserker</CharacterClass>
- </Berserker>
- // === ERROR MESSAGE === //
- System.InvalidOperationException
- HResult=0x80131509
- Message=There is an error in XML document (2, 2).
- Source=System.Xml
- StackTrace:
- at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
- at System.Xml.Serialization.XmlSerializer.Deserialize(Stream stream)
- at RPG.Data.FileManager.LoadGame() in C:\Projects\Role Playing Game\RPG\Data\FileManager.cs:line 55
- at RPG.Frm_GameMenu.Frm_GameMenu_Load(Object sender, EventArgs e) in C:\Projects\Role Playing Game\RPG\FormGameMenu.cs:line 25
- at System.Windows.Forms.Form.OnLoad(EventArgs e)
- at System.Windows.Forms.Form.OnCreateControl()
- at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
- at System.Windows.Forms.Control.CreateControl()
- at System.Windows.Forms.Control.WmShowWindow(Message& m)
- at System.Windows.Forms.Control.WndProc(Message& m)
- at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
- at System.Windows.Forms.Form.WmShowWindow(Message& m)
- at System.Windows.Forms.Form.WndProc(Message& m)
- at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
- at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
- at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
- Inner Exception 1:
- InvalidOperationException: <Berserker xmlns=''> was not expected.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement