public Game loadSavedGame(string link) { var xmldoc = new XmlDocument(); xmldoc.Load(link); XmlNode loadGame = xmldoc[XML_SAVED_GAME]; var game = new Game { saveLink = link, userName = loadGame[XML_USER_NAME].InnerText, gold = int.Parse(loadGame[XML_GOLD].InnerText), startGame = Time.time, gameTime = DateTime.ParseExact(loadGame[XML_TIME].InnerText, TIME_FORMAT, CultureInfo.CurrentCulture) }; foreach (XmlNode xmlPerson in loadGame[XML_PERSONS]) { var person = XMLFactory.loadPerson(xmlPerson[XML_PERSON_TYPE].InnerText); person.name = xmlPerson[XML_PERSON_NAME].InnerText; person.isActive = xmlPerson[XML_PERSON_ISACTIVE].InnerText.Equals(true.ToString()); person.setLevel(int.Parse(xmlPerson[XML_PERSON_LEVEL].InnerText)); person.setExpirience(int.Parse(xmlPerson[XML_PERSON_EXPERIENCE].InnerText)); person.activeInventory.leftHand = XMLFactory.loadItem(xmlPerson[XML_PERSON_ACTIVE_ITEMS][XML_PERSON_ITEMS_LEFT_HAND].InnerText); person.activeInventory.rightHand = XMLFactory.loadItem(xmlPerson[XML_PERSON_ACTIVE_ITEMS][XML_PERSON_ITEMS_RIGHT_HAND].InnerText); person.activeInventory.armor = XMLFactory.loadItem(xmlPerson[XML_PERSON_ACTIVE_ITEMS][XML_PERSON_ITEMS_ARMOR].InnerText); person.activeInventory.activeItem = XMLFactory.loadItem(xmlPerson[XML_PERSON_ACTIVE_ITEMS][XML_PERSON_ITEMS_ACTIVE_ITEM].InnerText); person.knownAbilities.FindAll(ability => !string.IsNullOrEmpty(ability.resource)) .ForEach(ability => ability.isActive = false); foreach (XmlNode xmlAbility in xmlPerson[XML_PERSON_ACTIVE_ABILITIES]) { person.findAbility(xmlAbility.InnerText).isActive = true; } person.place = XMLFactory.laodPosition(xmlPerson[XML_PERSON_POSITION]); game.selectedHeroes.Add(person); } foreach (XmlNode xmlItem in loadGame[InventoryController.INVENTORY_OBJECT]) { game.inventory.Add(XMLFactory.loadItem(xmlItem.InnerText)); } return(game); }
public MissionMap loadMissionFromFile(string link) { var missionMap = new MissionMap(); var textAsset = (TextAsset)Resources.Load(link); var xmldoc = new XmlDocument(); xmldoc.LoadXml(textAsset.text); var map = xmldoc.GetElementsByTagName("map").Item(0); foreach (XmlNode xmlMapPoint in map) { var mapPoint = new MapPoint(); mapPoint.id = int.Parse(xmlMapPoint["id"].InnerText); mapPoint.fightPower = int.Parse(xmlMapPoint["fightPower"].InnerText); mapPoint.count = int.Parse(xmlMapPoint["count"].InnerText); if (xmlMapPoint["final"] != null && xmlMapPoint["final"].InnerText == "true") { mapPoint.isFinal = true; } else { mapPoint.isFinal = false; } if (xmlMapPoint["dependList"].InnerText.Length > 0) { mapPoint.dependList.AddRange(xmlMapPoint["dependList"].InnerText.Split(',')); } mapPoint.position = XMLFactory.laodPosition(xmlMapPoint["position"]); if (mapPoint.dependList.Count == 0) { mapPoint.isEnable = true; } missionMap.fights.Add(mapPoint); } return(missionMap); }