public void LoadAllSpeciesFromXML() { AllGeoGroupInfo.Clear(); AllSelectedGeoGroupInfoNames.Clear(); UIManager.Instance.GetBaseUIForm <NaturalPanel>().Initialize(); string text; using (StreamReader sr = new StreamReader(XMLPath)) { text = sr.ReadToEnd(); } XmlDocument doc = new XmlDocument(); doc.LoadXml(text); XmlElement allCreaturesEle = doc.DocumentElement; for (int i = 0; i < allCreaturesEle.ChildNodes.Count; i++) { XmlNode creature_ele = allCreaturesEle.ChildNodes[i]; GeoGroupInfo ggi = GeoGroupInfo.GenerateGeoGroupInfoFromXML(creature_ele); AllGeoGroupInfo.Add(ggi.Name, ggi); ggi.RefreshInfo(); } RecreateAllSpecies(); }
public GeoGroupInfo Clone() { GeoGroupInfo ggi = new GeoGroupInfo(); ggi.GeoInfos = new List <GeoInfo>(); foreach (GeoInfo gi in GeoInfos) { ggi.GeoInfos.Add(gi.Clone()); } ggi.Name = Name; ggi.FertilityRate = FertilityRate; ggi.OffspringSizePercent = OffspringSizePercent; ggi.MatureSizePercent = MatureSizePercent; ggi.MinSizePercent = MinSizePercent; ggi.MaxSizePercent = MaxSizePercent; ggi.StartNumber = StartNumber; ggi.MaxNumber = MaxNumber; ggi.GrowUpRate = GrowUpRate; foreach (string s in Diets) { ggi.Diets.Add(s); } foreach (string s in Predators) { ggi.Predators.Add(s); } ggi.ResetCenterAndSortingOrder(); ggi.RefreshInfo(); return(ggi); }
public void RefreshInfo() { if (Cur_GGI == null) { Cur_GGI = new GeoGroupInfo(); } Cur_GGI.GeoInfos.Clear(); foreach (GeoElement geo in GeoElements) { GeoInfo gi = geo.ExportGeoInfo(); Cur_GGI.GeoInfos.Add(gi); } Cur_GGI.RefreshInfo(); UIManager.Instance.GetBaseUIForm <CreatureEditorPanel>().RefreshLeftPanelInfo(Cur_GGI); UIManager.Instance.GetBaseUIForm <CreatureEditorPanel>().GetLeftPanelManualInfo(Cur_GGI); }