예제 #1
0
 protected override void OnParameterLoad(ConfigNode node)
 {
     base.OnParameterLoad(node);
     minAntennaPower = Convert.ToDouble(node.GetValue("minAntennaPower"));
     maxAntennaPower = node.HasValue("maxAntennaPower") ? Convert.ToDouble(node.GetValue("maxAntennaPower")) : double.MaxValue;
     antennaType     = ConfigNodeUtil.ParseValue <AntennaType>(node, "antennaType", AntennaType.TRANSMIT);
 }
예제 #2
0
        public HasAntenna(double minAntennaPower = 0.0, double maxAntennaPower = double.MaxValue, AntennaType antennaType = AntennaType.TRANSMIT, string title = null)
            : base(title)
        {
            this.minAntennaPower = minAntennaPower;
            this.maxAntennaPower = maxAntennaPower;
            this.antennaType     = antennaType;

            if (title == null)
            {
                string countStr;
                if (maxAntennaPower == double.MaxValue)
                {
                    countStr = Localizer.Format("#cc.param.count.atLeast.num", KSPUtil.PrintSI(minAntennaPower, ""));
                }
                else if (minAntennaPower == 0.0)
                {
                    countStr = Localizer.Format("#cc.param.count.atMost.num", KSPUtil.PrintSI(maxAntennaPower, ""));
                }
                else
                {
                    countStr = Localizer.Format("#cc.param.count.between.num", KSPUtil.PrintSI(minAntennaPower, ""), KSPUtil.PrintSI(maxAntennaPower, ""));
                }

                this.title = Localizer.Format(antennaType == AntennaType.TRANSMIT ? "#cc.param.HasAntenna.transmit" : "#cc.param.HasAntenna.relay", countStr);
            }
            else
            {
                this.title = title;
            }
        }
        public HasAntennaParameter(int minCount = 1, int maxCount = int.MaxValue, CelestialBody targetBody = null,
            bool activeVessel = false, AntennaType? antennaType = null, double minRange = 0.0, double maxRange = double.MaxValue, string title = null)
            : base(title)
        {
            this.minCount = minCount;
            this.maxCount = maxCount;
            this.targetBody = targetBody;
            this.activeVessel = activeVessel;
            this.antennaType = antennaType;
            this.minRange = minRange;
            this.maxRange = maxRange;

            CreateDelegates();
        }
        public HasAntenna(double minAntennaPower = 0.0, double maxAntennaPower = double.MaxValue, AntennaType antennaType = AntennaType.TRANSMIT, string title = null)
            : base(title)
        {
            this.minAntennaPower = minAntennaPower;
            this.maxAntennaPower = maxAntennaPower;
            this.antennaType = antennaType;

            if (title == null)
            {
                if (antennaType == AntennaType.TRANSMIT)
                {
                    this.title = "Transmit antenna (combined): ";
                }
                else
                {
                    this.title = "Relay antenna (combined): ";
                }

                if (maxAntennaPower == double.MaxValue)
                {
                    this.title += "At least " + minAntennaPower + " power";
                }
                else if (minAntennaPower == 0.0)
                {
                    this.title += "At most " + maxAntennaPower + " power";
                }
                else
                {
                    this.title += "Between " + minAntennaPower + " and " + maxAntennaPower + " power";
                }
            }
            else
            {
                this.title = title;
            }
        }
예제 #5
0
        public HasAntenna(double minAntennaPower = 0.0, double maxAntennaPower = double.MaxValue, AntennaType antennaType = AntennaType.TRANSMIT, string title = null)
            : base(title)
        {
            this.minAntennaPower = minAntennaPower;
            this.maxAntennaPower = maxAntennaPower;
            this.antennaType     = antennaType;

            if (title == null)
            {
                if (antennaType == AntennaType.TRANSMIT)
                {
                    this.title = "Transmit antenna rating (combined): ";
                }
                else
                {
                    this.title = "Relay antenna rating (combined): ";
                }

                if (maxAntennaPower == double.MaxValue)
                {
                    this.title += "At least " + KSPUtil.PrintSI(minAntennaPower, "");
                }
                else if (minAntennaPower == 0.0)
                {
                    this.title += "At most " + KSPUtil.PrintSI(maxAntennaPower, "");
                }
                else
                {
                    this.title += "Between " + KSPUtil.PrintSI(minAntennaPower, "") + " and " + KSPUtil.PrintSI(maxAntennaPower, "");
                }
            }
            else
            {
                this.title = title;
            }
        }
 public static RFDevice WithAntennaType(this RFDevice instance, AntennaType value)
 {
     instance.AntennaType = value;
     return(instance);
 }
예제 #7
0
 public override int GetHashCode()
 {
     return(AntennaType.GetHashCode());
 }
예제 #8
0
        public override bool Equals(object obj)
        {
            SiteGpsPhaseCenter site = obj as SiteGpsPhaseCenter;

            return(site == null ? false : AntennaType.Equals(site.AntennaType));
        }