Beispiel #1
0
        public SatSettingNode(ProtoPartModuleSnapshot s, Vessel v, ProtoPartSnapshot sn)
        {
            this.protoPartModule = s;
            this.vessel = v;
            this.snapshot = sn;
            isLoaded = false;

            ConfigNode n = new ConfigNode();
            protoPartModule.Save(n);

            if (n.HasValue("pointedAt"))
                this.pointedAt = new Target(n.GetValue("pointedAt"));
            else
                this.pointedAt = new Target();

            if (n.HasValue("dishRange"))
                this.dishRange = float.Parse(n.GetValue("dishRange"));
            else
                this.dishRange = 0;

            if (n.HasValue("antennaName"))
                this.antennaName = n.GetValue("antennaName");

            for (int i = 0; i < RTGlobals.targets.Count; i++)
            {
                if (pointedAt.Equals(RTGlobals.targets[i])) { selectedTarget = i; break; }
            }
        }
Beispiel #2
0
        public SatSettingNode(PartModule m)
        {
            this.partModule = m;
            isLoaded = true;

            if (RTUtils.containsField(partModule, "pointedAt"))
                this.pointedAt = new Target((string)partModule.Fields.GetValue("pointedAt"));
            else
                this.pointedAt = new Target();

            if (RTUtils.containsField(partModule, "dishRange"))
                this.dishRange = (float)partModule.Fields.GetValue("dishRange");
            else
                this.dishRange = 0;

            if (RTUtils.containsField(partModule, "antennaName"))
                this.antennaName = (string)partModule.Fields.GetValue("antennaName");

            for (int i = 0; i < RTGlobals.targets.Count; i++)
            {
                if (pointedAt.Equals(RTGlobals.targets[i])) { selectedTarget = i; break; }
            }
        }
        public void UpdatePA()
        {
            target = new Target(pointedAt);

            string targetName = target.GUIname;

            if (this.dishRange > 0)
            {
                if (Events["setTarget"].active)
                {
                    Events["setTarget2"].guiName = "Target: " + targetName;
                    Events["OverrideTarget2"].guiName = "Override " + Events["setTarget2"].guiName;
                    Events["setTarget"].active = Events["OverrideTarget"].active = false;
                    Events["setTarget2"].active = Events["OverrideTarget2"].active = true;
                }
                else
                {
                    Events["setTarget"].guiName = "Target: " + targetName;
                    Events["OverrideTarget"].guiName = "Override " + Events["setTarget"].guiName;
                    Events["setTarget"].active = Events["OverrideTarget"].active = true;
                    Events["setTarget2"].active = Events["OverrideTarget2"].active = false;
                }
            }
            else
            {
                Events["setTarget"].active = Events["OverrideTarget"].active = Events["setTarget2"].active = Events["OverrideTarget2"].active = false;
            }

            if (!showStats)
            {
                Fields["Dish_Range"].guiActive = Fields["Antenna_Range"].guiActive = false;
                return;
            }

            if (dishRange > 0)
            {
                Dish_Range = RTUtils.length(dishRange * 1000) + "m";

                Fields["Dish_Range"].guiName = "";

                if (showAntennaName) Fields["Dish_Range"].guiName += antennaName;
                if (showType) Fields["Dish_Range"].guiName += showAntennaName ? " dish " : "Dish ";
                Fields["Dish_Range"].guiName += (showAntennaName || showType) ? "range" : "Range";

                Fields["Dish_Range"].guiActive = true;
            }
            else
                Fields["Dish_Range"].guiActive = false;

            if (this.antennaRange > 0)
            {
                Antenna_Range = RTUtils.length(antennaRange * 1000) + "m";

                Fields["Antenna_Range"].guiName = "";

                if (showAntennaName) Fields["Antenna_Range"].guiName += antennaName;
                if (showType) Fields["Antenna_Range"].guiName += showAntennaName ? " antenna " : "Antenna ";
                Fields["Antenna_Range"].guiName += (showAntennaName || showType) ? "range" : "Range";

                Fields["Antenna_Range"].guiActive = true;
            }
            else
                Fields["Antenna_Range"].guiActive = false;
        }
Beispiel #4
0
        public void ListTargets()
        {
            GUIStyle myskin = new GUIStyle(GUI.skin.textField);
            myskin.fontStyle = FontStyle.Bold;
            myskin.normal.textColor = Color.white;
            myskin.onNormal.textColor = Color.white;
            myskin.onHover.textColor = Color.white;
            myskin.onFocused.textColor = Color.white;
            myskin.onActive.textColor = Color.white;

            foreach (Target t in RTGlobals.targets)
            {
                if (t.isPlanet)
                    myskin.fontStyle = FontStyle.Bold;
                else
                    myskin.fontStyle = FontStyle.Normal;

                myskin.normal.textColor = t.color;

                if (GUILayout.Button(
                    t == this.pointedAt ? t.GUIListname+" <": t.GUIListname, myskin))
                    this.pointedAt = t;
            }
        }
Beispiel #5
0
 public bool Equals(Target other)
 {
     if (this.emptytarget && other.emptytarget) return true;
     if (this.node != null && other.node != null)
         return this.node.ID.Equals(other.node.ID);
     else
         return (this.referenceBody != null && other.referenceBody != null && this.referenceBody == other.referenceBody);
 }