private Player GetPlayerFromSave(Dictionary <string, string> saveValues) { var id = int.Parse(saveValues.GetValue("Id")); var name = saveValues.GetValue("Name"); var level = int.Parse(saveValues.GetValue("Level")); var xp = int.Parse(saveValues.GetValue("XP")); var baseHealth = int.Parse(saveValues.GetValue("BaseHealth")); var combatStyle = (CombatStyle)Enum.Parse(typeof(CombatStyle), saveValues.GetValue("CombatStyle")); var health = int.Parse(saveValues.GetValue("Health")); var gold = int.Parse(saveValues.GetValue("Gold")); var location = (PlayableZone)Enum.Parse(typeof(PlayableZone), saveValues.GetValue("CurrentZone")); var inventoryStr = saveValues.GetValue("Inventory"); var itemIds = inventoryStr.Split(',').Where(s => s != ""); var inventory = new List <Item>(); foreach (var itemId in itemIds) { inventory.Add(ItemIndex.GetItemById(int.Parse(itemId))); } var skillsStr = saveValues.GetValue("Skills"); var skillIds = skillsStr.Split(',').Where(s => s != ""); var skills = new List <Skill>(); foreach (var skillId in skillIds) { skills.Add(SkillIndex.GetSkillbyId(int.Parse(skillId))); } return(new Player(id, name, level, xp, baseHealth, health, 2, inventory, skills) { CombatStyle = combatStyle, CurrentZone = location }); }