public static Player CreatePlayerFromXmlString(string xmlPlayerData) { try { XmlDocument playerData = new XmlDocument(); playerData.LoadXml(xmlPlayerData); int currentHitPoints = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentHitPoints").InnerText); int maximumHitPoints = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/MaximumHitPoints").InnerText); int level = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/Level").InnerText); int currentStrength = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentStrength").InnerText); int currentDexterity = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentDexterity").InnerText); int gold = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/Gold").InnerText); int experiencePoints = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/ExperiencePoints").InnerText); int experienceRequiredToLevel = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/ExperienceRequiredToLevel").InnerText); Player player = new Player(currentHitPoints, maximumHitPoints, level, currentStrength, currentDexterity, gold, experiencePoints, experienceRequiredToLevel); int currentLocationID = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentLocation").InnerText); player.CurrentLocation = World.LocationByID(currentLocationID); if (playerData.SelectSingleNode("/Player/Stats/CurrentWeapon") != null) { int currentWeaponID = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentWeapon").InnerText); player.CurrentWeapon = (Weapon)World.ItemByID(currentWeaponID); } foreach (XmlNode node in playerData.SelectNodes("/Player/InventoryItems/InventoryItem")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); int quantity = Convert.ToInt32(node.Attributes["Quantity"].Value); for (int i = 0; i < quantity; i++) { player.AddItemToInventory(World.ItemByID(id)); } } foreach (XmlNode node in playerData.SelectNodes("/Player/PlayerQuests/PlayerQuest")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); bool isCompleted = Convert.ToBoolean(node.Attributes["IsCompleted"].Value); PlayerQuest playerQuest = new PlayerQuest(World.QuestByID(id)); playerQuest.IsCompleted = isCompleted; player.Quests.Add(playerQuest); } return(player); } catch { // If there was an error with the XML data, return a default player object return(Player.CreateDefaultPlayer()); } }
public static Player CreatePlayerFromXmlString(string xmlPlayerData) { try { XmlDocument playerData = new XmlDocument(); playerData.LoadXml(xmlPlayerData); int currentHitPoints = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentHitPoints").InnerText); int maximumHitPoints = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/MaximumHitPoints").InnerText); int gold = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/Gold").InnerText); int experiencePoints = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/ExperiencePoints").InnerText); Player player = new Player(currentHitPoints, maximumHitPoints, gold, experiencePoints); int currentLocationID = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentLocation").InnerText); player.CurrentLocation = World.LocationByID(currentLocationID); if (playerData.SelectSingleNode("/Player/Stats/CurrentWeapon") != null) { int currentWeaponID = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentWeapon").InnerText); player.CurrentWeapon = (Weapon)World.ItemByID(currentWeaponID); } if (playerData.SelectSingleNode("/Player/Stats/CurrentArmor") != null) { int currentArmorID = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentArmor").InnerText); player.CurrentArmor = (Armor)World.ItemByID(currentArmorID); } foreach (XmlNode node in playerData.SelectNodes("/Player/InventoryItems/InventoryItem")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); int quantity = Convert.ToInt32(node.Attributes["Quantity"].Value); for (int i = 0; i < quantity; i++) { player.AddItemToInventory(World.ItemByID(id)); } } foreach (XmlNode node in playerData.SelectNodes("/Player/PlayerQuests/PlayerQuest")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); bool isCompleted = Convert.ToBoolean(node.Attributes["IsCompleted"].Value); PlayerQuest playerQuest = new PlayerQuest(World.QuestByID(id)); playerQuest.IsCompleted = isCompleted; player.Quests.Add(playerQuest); } player.MoveTo(World.LocationByID(player.CurrentLocation.ID)); return(player); } catch { return(Player.CreateDefaultPlayer()); } }
public static Player CreatePlayerFromXML(string xmlPlayerData) { try { XmlDocument playerData = new XmlDocument(); playerData.LoadXml(xmlPlayerData); int currentHP = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentHP").InnerText); int maxHP = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/MaxHP").InnerText); int gold = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/Gold").InnerText); int EXP = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/EXP").InnerText); Player player = new Player(currentHP, maxHP, gold, EXP); int currentLocationID = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentLocation").InnerText); player.CurrentLocation = World.LocationById(currentLocationID); if (playerData.SelectSingleNode("/Player/Stats/CurrentWeapon") != null) { int currentWeaponID = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentWeapon").InnerText); player.CurrentWeapon = (Weapon)World.ItemByID(currentWeaponID); } foreach (XmlNode node in playerData.SelectNodes("/Player/Inventory/Item")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); int quantity = Convert.ToInt32(node.Attributes["Quantity"].Value); for (int i = 0; i < quantity; i++) { player.AddItemToInventory(World.ItemByID(id)); } } foreach (XmlNode node in playerData.SelectNodes("/Player/PlayerQuests/Quest")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); bool isCompleted = Convert.ToBoolean(node.Attributes["IsCompleted"].Value); PlayerQuest playerQuest = new PlayerQuest(World.QuestById(id)); playerQuest.IsCompleted = isCompleted; player.Quests.Add(playerQuest); } return(player); } catch { //if error with XML data, return default player return(Player.CreateDefaultPlayer()); } }
public void LoadProfile() { if (File.Exists(SAVE_DATA_FILE_NAME)) { Player = Player.CreatePlayerFromXmlString( File.ReadAllText(SAVE_DATA_FILE_NAME)); } else { Player = Player.CreateDefaultPlayer(); } }
public static Player CreatePlayerFromXmlString(string xmlPlayerData) { try { XmlDocument playerData = new XmlDocument(); playerData.LoadXml(xmlPlayerData); int currentHP = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentHP").InnerText); int maximumHP = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/MaximumHP").InnerText); int gold = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/Gold").InnerText); int xp = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/XP").InnerText); Player player = new Player(currentHP, maximumHP, gold, xp); int currentLocationID = Convert.ToInt32(playerData.SelectSingleNode("/Player/Stats/CurrentLocation").InnerText); player.CurrentLocation = World.LocationByID(currentLocationID); foreach (XmlNode node in playerData.SelectNodes("/Player/InventoryItems/InventoryItem")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); int quantity = Convert.ToInt32(node.Attributes["Quantity"].Value); for (int i = 0; i < quantity; i++) { player.AddItemToInventory(World.ItemByID(id)); } } foreach (XmlNode node in playerData.SelectNodes("/Player/PlayerQuests/PlayerQuest")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); bool isCompleted = Convert.ToBoolean(node.Attributes["IsCompleted"].Value); PlayerQuest playerQuest = new PlayerQuest(World.QuestByID(id)); playerQuest.IsCompleted = isCompleted; player.Quests.Add(playerQuest); } return(player); } catch (Exception) { //If there was an error with the XML Data, return a default player object return(Player.CreateDefaultPlayer()); } }
public Game() { InitializeComponent(); _player = PlayerDataMapper.CreateFromDataBase(); if (_player == null) { if (File.Exists(PLAYER_DATA_FILE_NAME)) { _player = Player.createplayerformxmlString(File.ReadAllText(PLAYER_DATA_FILE_NAME)); } else { Player.CreateDefaultPlayer(); //Start(false, this); } } if (_player != null) { Strength.Text = Convert.ToString(_player.Strength); Speed.Text = Convert.ToString(_player.Speed); Intelligence.Text = Convert.ToString(_player.Intelligence); Sight.Text = Convert.ToString(_player.Sight); Endurance.Text = Convert.ToString(_player.Endurance); StrengthBar.Value = _player.Strength; SpeedBar.Value = _player.Speed; IntelligenceBar.Value = _player.Intelligence; SightBar.Value = _player.Sight; EnduranceBar.Value = _player.Endurance; Health.DataBindings.Add("Text", _player, "HP"); Gold.DataBindings.Add("Text", _player, "Gold"); Stamina.DataBindings.Add("Text", _player, "Stamina"); StaminaBar.DataBindings.Add("Value", _player, "Stamina"); dgvInventory.RowHeadersVisible = false; dgvInventory.AutoGenerateColumns = false; dgvInventory.DataSource = _player.Inventory; dgvInventory.Columns.Add(new DataGridViewTextBoxColumn { HeaderText = "Name", Width = 197, DataPropertyName = "Description" }); dgvInventory.Columns.Add(new DataGridViewTextBoxColumn { HeaderText = "Quantity", DataPropertyName = "Quantity" }); dgvQuest.RowHeadersVisible = false; dgvQuest.AutoGenerateColumns = false; dgvQuest.DataSource = _player.Quest; dgvQuest.Columns.Add(new DataGridViewTextBoxColumn { HeaderText = "Name", Width = 197, DataPropertyName = "Name" }); dgvQuest.Columns.Add(new DataGridViewTextBoxColumn { HeaderText = "Done?", DataPropertyName = "IsCompleted" }); cobweapons.DataSource = _player.Weapons; cobweapons.DisplayMember = "Name"; cobweapons.ValueMember = "Id"; if (_player.CurrentLocation != null) { cobweapons.SelectedItem = _player.CurrentWeapon; } cobweapons.SelectedIndexChanged += cobweapons_SelectedIndexChanged; cobpotion.DataSource = _player.Potions; cobpotion.DisplayMember = "Name"; cobpotion.ValueMember = "Id"; _player.PropertyChanged += PlayerOnPropertyChanged; _player.OnMessage += displaymessage; _player.MoveTo(_player.CurrentLocation); } }
public static Player CreatePlayerFromXmlString(string xmlPlayerData) { try { XmlDocument playerData = new XmlDocument(); // playerData.PreserveWhitespace = true; playerData.LoadXml(xmlPlayerData); int currentHitPoints = Convert.ToInt32( playerData.SelectSingleNode("/Player/Stats/CurrentHitPoints").InnerText); int maximumHitPoints = Convert.ToInt32( playerData.SelectSingleNode("/Player/Stats/MaximumHitPoints").InnerText); int gold = Convert.ToInt32( playerData.SelectSingleNode("/Player/Stats/Gold").InnerText); int experiencePoints = Convert.ToInt32( playerData.SelectSingleNode("/Player/Stats/ExperiencePoints").InnerText); Player player = new Player( currentHitPoints, maximumHitPoints, gold, experiencePoints); int currentLocationID = Convert.ToInt32( playerData.SelectSingleNode("/Player/Stats/CurrentLocation").InnerText); player.CurrentLocation = World.LocationByID(currentLocationID); if (playerData.SelectSingleNode("/Player/Stats/CurrentWeaponID") != null) { int currentWeaponID = Convert.ToInt32(playerData.SelectSingleNode( "/Player/Stats/CurrentWeaponID").InnerText); player.CurrentWeapon = (Weapon)World.ItemByID(currentWeaponID); } if (playerData.SelectSingleNode("/Player/Stats/CurrentPotionID") != null) { int currentPotionID = Convert.ToInt32(playerData.SelectSingleNode( "/Player/Stats/CurrentPotionID").InnerText); player.CurrentPotion = (HealingPotion)World.ItemByID(currentPotionID); } foreach (XmlNode node in playerData.SelectNodes( "/Player/InventoryItems/InventoryItem")) { int itemID = Convert.ToInt32(node.Attributes["ID"].Value); int itemQuantity = Convert.ToInt32(node.Attributes["Quantity"].Value); // refactored from tutorial due to overloading AddItemToInventory with quantity player.AddItemToInventory(World.ItemByID(itemID), itemQuantity); } foreach (XmlNode node in playerData.SelectNodes( "/Player/PlayerQuests/PlayerQuest")) { int questID = Convert.ToInt32(node.Attributes["ID"].Value); bool questIsCompleted = Convert.ToBoolean(node.Attributes["IsCompleted"].Value); PlayerQuest playerQuest = new PlayerQuest(World.QuestByID(questID)); playerQuest.IsCompleted = questIsCompleted; player.Quests.Add(playerQuest); } return(player); } catch { // If there was an error with the XML data, return a default player object return(Player.CreateDefaultPlayer()); } }
public static Player CreatePlayerFromXmlString(string xmlSaveData) { try { XmlDocument saveData = new XmlDocument(); saveData.LoadXml(xmlSaveData); int currentHitPoints = Convert.ToInt32(saveData.SelectSingleNode("/Player/Stats/CurrentHitPoints").InnerText); int maximumHitPoints = Convert.ToInt32(saveData.SelectSingleNode("/Player/Stats/MaximumHitPoints").InnerText); int gold = Convert.ToInt32(saveData.SelectSingleNode("/Player/Stats/Gold").InnerText); Player player = new Player(currentHitPoints, maximumHitPoints, gold); player.HomeTileID = Convert.ToInt32(saveData.SelectSingleNode("/Player/Stats/HomeTile").InnerText); int currentTileID = Convert.ToInt32(saveData.SelectSingleNode("/Player/Stats/CurrentTile").InnerText); player.CurrentTile = World.GetTile(currentTileID); foreach (XmlNode node in saveData.SelectNodes("/Player/PlayerSkills/PlayerSkill")) { int type = Convert.ToInt32(node.Attributes["Type"].Value); int level = Convert.ToInt32(node.Attributes["Level"].Value); int experience = Convert.ToInt32(node.Attributes["Experience"].Value); player.UpdateSkill(type, level, experience); } foreach (XmlNode node in saveData.SelectNodes("/Player/InventoryItems/InventoryItem")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); int quantity = Convert.ToInt32(node.Attributes["Quantity"].Value); if (quantity > 0) { player.AddItemToInventory(id, quantity); } } foreach (XmlNode node in saveData.SelectNodes("/Player/PlayerQuests/PlayerQuest")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); int state = Convert.ToInt32(node.Attributes["State"].Value); bool isComplete = Convert.ToBoolean(node.Attributes["IsComplete"].Value); player.Quests.Add(new PlayerQuest(World.GetQuest(id), state, isComplete)); } foreach (XmlNode node in saveData.SelectNodes("/Player/ItemEquipments/ItemEquipment")) { int id = Convert.ToInt32(node.Attributes["ID"].Value); player.Equipment.Add((ItemEquipment)World.GetItem(id)); } return(player); } catch { // If there was an error with the XML data, return a default player object return(Player.CreateDefaultPlayer()); } }
/// <summary> /// Creates an array of 2 empty players /// </summary> public void CreateDefaultPlayers() { Players = (new Player[] { Player.CreateDefaultPlayer(), Player.CreateDefaultPlayer() }); }