Kramax.FlightPlan.SetFromConfigNode C# (CSharp) Méthode

SetFromConfigNode() public méthode

public SetFromConfigNode ( ConfigNode node ) : void
node System.ConfigNode
Résultat void
        public void SetFromConfigNode(ConfigNode node)
        {
            planet = GetCelestialBodyForName(node.GetValue("planet"));
            name = node.GetValue("name");
            description = node.GetValue("description");

            course.Clear();

            var courseNode = node.GetNode("WayPoints");

            if (courseNode != null)
            {
                foreach (var wp_node in courseNode.GetNodes("WayPoint"))
                {
                    var wp = new WayPoint();
                    wp.SetFromConfigNode(wp_node);
                    course.Add(wp);
                }
            }
        }

Usage Example

Exemple #1
0
        private void LoadPlansFromNode(ConfigNode node)
        {
            foreach (ConfigNode listNode in node.nodes)
            {
                Deb.Log("LoadPlansFromNode: list node {0}", listNode.name);

                var planet_name = listNode.name;

                List<FlightPlan> fplist = null;

                if (flightPlansDict.TryGetValue(planet_name, out fplist))
                {
                    Deb.Log("LoadPlansFromNode: fplist for planet {0} already exists.", planet_name);
                }
                else
                {
                    Deb.Log("LoadPlansFromNode: create fplist for planet {0}.", planet_name);
                    fplist = new List<FlightPlan>();
                    flightPlansDict[planet_name] = fplist;
                }

                foreach (ConfigNode fpNode in listNode.nodes)
                {
                    FlightPlan fp = new FlightPlan();

                    fp.SetFromConfigNode(fpNode);

                    int existing_index = fplist.FindIndex(afp => (fp.name == afp.name));

                    if (existing_index < 0)
                    {
                        Deb.Log("LoadPlansFromNode: new flight plan named {0}.", fp.name);
                        fplist.Add(fp);
                    }
                    else
                    {
                        Deb.Log("LoadPlansFromNode: existing flight plan named {0} will be overwritten.", fp.name);
                        fplist[existing_index] = fp;
                    }
                }
            }
        }