Пример #1
0
 private static void CloseCommNetStation(StaticInstance instance)
 {
     if (openCNStations.Contains(instance))
     {
         Log.Normal("Closing Antenna for " + instance.Group);
         CommNetHome commNetGroundStation = instance.gameObject.GetComponent <CommNetHome>();
         //commNetGroundStation.enabled = false;
         UnityEngine.Object.Destroy(commNetGroundStation);
         openCNStations.Remove(instance);
     }
 }
        public void copyOf(CommNetHome stockHome)
        {
            CNCLog.Verbose("Stock CommNet Home '{0}' added", stockHome.nodeName);

            this.ID              = stockHome.nodeName;
            this.nodeName        = stockHome.nodeName;
            this.displaynodeName = Localizer.Format(stockHome.displaynodeName);
            this.nodeTransform   = stockHome.nodeTransform;
            this.isKSC           = stockHome.isKSC;
            this.body            = stockHome.GetComponentInParent <CelestialBody>();

            //comm, lat, alt, lon are initialised by CreateNode() later
        }
        public void CopyOf(CommNetHome stockHome)
        {
            Lib.Verbose("CommNet Home '{0}' added", stockHome.nodeName);

            ID              = stockHome.nodeName;
            nodeName        = stockHome.nodeName;
            displaynodeName = Localizer.Format(stockHome.displaynodeName);
            nodeTransform   = stockHome.nodeTransform;
            isKSC           = stockHome.isKSC;
            body            = stockHome.GetComponentInParent <CelestialBody>();

            groundStationHeadline = new GUIStyle(HighLogic.Skin.label)
            {
                fontSize = 12,
                normal   = { textColor = Color.yellow }
            };

            loadCompleted = true;
        }
Пример #4
0
        /// <summary>
        /// Removes all GroundStations from an Static Object.
        /// </summary>
        /// <param name="instance"></param>
        internal static void DetachGroundStation(StaticInstance instance)
        {
            if (KerbalKonstructs.instance.enableCommNet)
            {
                if (openCNStations.Contains(instance))
                {
                    Log.Normal("Closing Antenna for " + instance.Group);
                    CommNetHome commNetGroundStation = instance.gameObject.GetComponent <CommNetHome>();
                    //commNetGroundStation.enabled = false;
                    UnityEngine.Object.Destroy(commNetGroundStation);
                    openCNStations.Remove(instance);
                }
            }

            if (KerbalKonstructs.instance.enableRT)
            {
                RemoteTechAddon.RemoveGroundStation(openRTStations[instance]);
                openRTStations.Remove(instance);
            }
        }
        public void copyOf(CommNetHome stockHome)
        {
            CNCLog.Verbose("CommNet Home '{0}' added", stockHome.nodeName);

            this.ID              = stockHome.nodeName;
            this.nodeName        = stockHome.nodeName;
            this.displaynodeName = Localizer.Format(stockHome.displaynodeName);
            this.nodeTransform   = stockHome.nodeTransform;
            this.isKSC           = stockHome.isKSC;
            this.body            = stockHome.GetComponentInParent <CelestialBody>();

            //comm, lat, alt, lon are initialised by CreateNode() later

            groundStationHeadline = new GUIStyle(HighLogic.Skin.label)
            {
                fontSize = 12,
                normal   = { textColor = Color.yellow }
            };

            loadCompleted = true;
        }
Пример #6
0
        private void BuildHomes()
        {
            ConfigNode KopernicusNode = null;

            foreach (ConfigNode n in GameDatabase.Instance.GetConfigNodes("Kopernicus"))
            {
                KopernicusNode = n;
            }

            if (KopernicusNode != null)
            {
                var sb = StringBuilderCache.Acquire();
                sb.Append($"{ModTag} Building homes: ");
                foreach (ConfigNode bodyNode in KopernicusNode.GetNodes("Body"))
                {
                    string t    = bodyNode.GetValue("name");
                    string name = t.Equals("Kerbin") ? FlightGlobals.GetHomeBodyName() : t;

                    if (FlightGlobals.GetBodyByName(name) is CelestialBody body &&
                        bodyNode.GetNode("PQS") is ConfigNode pqsNode &&
                        pqsNode.GetNode("Mods") is ConfigNode pqsModNode)
                    {
                        foreach (ConfigNode cityNode in pqsModNode.GetNodes("City2"))
                        {
                            bool result = false;
                            if (cityNode.TryGetValue("RACommNetStation", ref result) && result)
                            {
                                CommNetHome h = BuildHome(cityNode, body);
                                sb.Append($"{h.nodeName}  ");
                            }
                        }
                    }
                }
                Debug.Log(sb.ToStringAndRelease());
            }
        }