Beispiel #1
0
        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
            });
        }