예제 #1
0
 public override void OnLoad(ConfigNode node)
 {
     base.OnLoad(node);
     if (node.HasValue("RTAntennaTarget"))
     {
         try
         {
             Target = new Guid(node.GetValue("RTAntennaTarget"));
         }
         catch (FormatException)
         {
             Target = Guid.Empty;
         }
     }
     if (node.HasValue("DishAngle"))
     {
         RTDishRadians = Math.Cos(DishAngle / 2 * Math.PI / 180);
     }
     if (node.HasValue("DeployFxModules"))
     {
         mDeployFxModuleIndices = KSPUtil.ParseArray <Int32>(node.GetValue("DeployFxModules"), new ParserMethod <Int32>(Int32.Parse));
     }
     if (node.HasValue("ProgressFxModules"))
     {
         mProgressFxModuleIndices = KSPUtil.ParseArray <Int32>(node.GetValue("ProgressFxModules"), new ParserMethod <Int32>(Int32.Parse));
     }
     if (node.HasNode("TRANSMITTER"))
     {
         RTLog.Notify("ModuleRTAntenna: Found TRANSMITTER block.");
         mTransmitterConfig = node.GetNode("TRANSMITTER");
         mTransmitterConfig.AddValue("name", "ModuleRTDataTransmitter");
     }
 }
예제 #2
0
        public override void OnLoad(ConfigNode node)
        {
            base.OnLoad(node);
            if (node.HasValue("RTAntennaTarget"))
            {
                try
                {
                    Target = new Guid(node.GetValue("RTAntennaTarget"));
                }
                catch (FormatException)
                {
                    Target = Guid.Empty;
                }
            }
            // Have RTDishRadians as a fallback to avoid corrupting save games
            if (node.HasValue("RTDishRadians"))
            {
                double temp_double;
                RTDishCosAngle = Double.TryParse(node.GetValue("RTDishRadians"), out temp_double) ? temp_double : 1.0;
            }
            if (node.HasValue("DishAngle"))
            {
                RTDishCosAngle = Math.Cos(DishAngle / 2 * Math.PI / 180);
            }
            if (node.HasValue("DeployFxModules"))
            {
                mDeployFxModuleIndices = KSPUtil.ParseArray <Int32>(node.GetValue("DeployFxModules"), new ParserMethod <Int32>(Int32.Parse));
            }
            if (node.HasValue("ProgressFxModules"))
            {
                mProgressFxModuleIndices = KSPUtil.ParseArray <Int32>(node.GetValue("ProgressFxModules"), new ParserMethod <Int32>(Int32.Parse));
            }
            if (node.HasNode("TRANSMITTER"))
            {
                RTLog.Notify("ModuleRTAntenna: Found TRANSMITTER block.");
                mTransmitterConfig = node.GetNode("TRANSMITTER");
                mTransmitterConfig.AddValue("name", "ModuleRTDataTransmitter");

                // workarround for ksp 1.0
                if (mTransmitterConfig.HasValue("PacketInterval"))
                {
                    RTPacketInterval = float.Parse(mTransmitterConfig.GetValue("PacketInterval"));
                }

                if (mTransmitterConfig.HasValue("PacketSize"))
                {
                    RTPacketSize = float.Parse(mTransmitterConfig.GetValue("PacketSize"));
                }

                if (mTransmitterConfig.HasValue("PacketResourceCost"))
                {
                    RTPacketResourceCost = float.Parse(mTransmitterConfig.GetValue("PacketResourceCost"));
                }
            }
        }
예제 #3
0
        public override void OnLoad(ConfigNode node)
        {
            base.OnLoad(node);
            if (node.HasValue("RTAntennaTarget"))
            {
                try
                {
                    Target = new Guid(node.GetValue("RTAntennaTarget"));
                }
                catch (FormatException)
                {
                    Target = Guid.Empty;
                }
            }
            // Have RTDishRadians as a fallback to avoid corrupting save games
            if (node.HasValue("RTDishRadians"))
            {
                double temp_double;
                RTDishCosAngle = Double.TryParse(node.GetValue("RTDishRadians"), out temp_double) ? temp_double : 1.0;
            }
            if (node.HasValue("DishAngle"))
            {
                RTDishCosAngle = Math.Cos(DishAngle / 2 * Math.PI / 180);
            }
            if (node.HasValue("DeployFxModules"))
            {
                mDeployFxModuleIndices = KSPUtil.ParseArray <Int32>(node.GetValue("DeployFxModules"), new ParserMethod <Int32>(Int32.Parse));
            }
            if (node.HasValue("ProgressFxModules"))
            {
                mProgressFxModuleIndices = KSPUtil.ParseArray <Int32>(node.GetValue("ProgressFxModules"), new ParserMethod <Int32>(Int32.Parse));
            }
            if (node.HasNode("TRANSMITTER"))
            {
                RTLog.Notify("ModuleRTAntenna: Found TRANSMITTER block.");
                mTransmitterConfig = node.GetNode("TRANSMITTER");
                mTransmitterConfig.AddValue("name", "ModuleRTDataTransmitter");

                // workarround for ksp 1.0
                if (mTransmitterConfig.HasValue("PacketInterval"))
                {
                    RTPacketInterval = float.Parse(mTransmitterConfig.GetValue("PacketInterval"));
                }

                if (mTransmitterConfig.HasValue("PacketSize"))
                {
                    RTPacketSize = float.Parse(mTransmitterConfig.GetValue("PacketSize"));
                }

                if (mTransmitterConfig.HasValue("PacketResourceCost"))
                {
                    RTPacketResourceCost = float.Parse(mTransmitterConfig.GetValue("PacketResourceCost"));
                }
            }
            if (this.resHandler.inputResources.Count == 0)
            {
                ModuleResource moduleResource = new ModuleResource();
                moduleResource.name  = this.resourceName;
                moduleResource.title = KSPUtil.PrintModuleName(this.resourceName);
                moduleResource.id    = this.resourceName.GetHashCode();
                moduleResource.rate  = EnergyCost * ConsumptionMultiplier;
                this.resHandler.inputResources.Add(moduleResource);
            }

            //apply the consumption multiplier
            this.resHandler.inputResources.Find(x => x.name == this.resourceName).rate = EnergyCost * ConsumptionMultiplier;
        }