示例#1
0
        public override void OnLoad(ConfigNode node)
        {
            base.OnLoad(node);

            foreach (ConfigNode stg in GameDatabase.Instance.GetConfigNodes("CREWHANDLERSETTINGS"))
            {
                settings.Load(stg);
            }

            kerbalRetireTimes.Clear();
            ConfigNode n = node.GetNode("RETIRETIMES");

            if (n != null)
            {
                foreach (ConfigNode.Value v in n.values)
                {
                    kerbalRetireTimes[v.name] = double.Parse(v.value);
                }
            }

            retirees.Clear();
            n = node.GetNode("RETIREES");
            if (n != null)
            {
                foreach (ConfigNode.Value v in n.values)
                {
                    retirees.Add(v.value);
                }
            }

            expireTimes.Clear();
            n = node.GetNode("EXPIRATIONS");
            if (n != null)
            {
                foreach (ConfigNode eN in n.nodes)
                {
                    expireTimes.Add(new TrainingExpiration(eN));
                }
            }

            ConfigNode FSData = node.GetNode("FlightSchoolData");

            if (FSData == null)
            {
                return;
            }

            //load all the active courses
            ActiveCourses.Clear();
            foreach (ConfigNode courseNode in FSData.GetNodes("ACTIVE_COURSE"))
            {
                try
                {
                    ActiveCourses.Add(new ActiveCourse(courseNode));
                }
                catch (Exception ex)
                {
                    Debug.LogException(ex);
                }
            }

            TrainingDatabase.Initialize();
            KACWrapper.InitKACWrapper();
        }