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();
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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);
    }