Assembly: Moved ToadicusTools dependency definition to AssemblyInfo.cs
--- a/ARConfiguration.cs
+++ b/ARConfiguration.cs
@@ -8,8 +8,6 @@
using ToadicusTools;
using UnityEngine;
-[assembly: KSPAssemblyDependency("ToadicusTools", 0, 0)]
-
namespace AntennaRange
{
[KSPAddon(KSPAddon.Startup.SpaceCentre, false)]
@@ -19,6 +17,8 @@
private Rect configWindowPos;
private IButton toolbarButton;
+
+ private System.Version runningVersion;
private KSP.IO.PluginConfiguration _config;
private KSP.IO.PluginConfiguration config
@@ -46,8 +46,11 @@
public void OnGUI()
{
+ // Only runs once, if the Toolbar is available.
if (this.toolbarButton == null && ToolbarManager.ToolbarAvailable)
{
+ this.runningVersion = this.GetType().Assembly.GetName().Version;
+
Tools.PostDebugMessage(this, "Toolbar available; initializing button.");
this.toolbarButton = ToolbarManager.Instance.add("AntennaRange", "ARConfiguration");
@@ -64,6 +67,9 @@
AntennaRelay.requireLineOfSight = this.LoadConfigValue("requireLineOfSight", false);
ARFlightController.requireConnectionForControl =
this.LoadConfigValue("requireConnectionForControl", false);
+ ModuleLimitedDataTransmitter.fixedPowerCost = this.LoadConfigValue("fixedPowerCost", false);
+
+ Debug.Log(string.Format("{0} v{1} - ARonfiguration loaded!", this.GetType().Name, this.runningVersion));
}
if (this.showConfigWindow)
@@ -71,7 +77,7 @@
Rect configPos = GUILayout.Window(354163056,
this.configWindowPos,
this.ConfigWindow,
- "AntennaRange Configuration",
+ string.Format("AntennaRange {0}.{1}", this.runningVersion.Major, this.runningVersion.Minor),
GUILayout.ExpandHeight(true),
GUILayout.ExpandWidth(true)
);
@@ -116,6 +122,17 @@
GUILayout.EndHorizontal();
+ GUILayout.BeginHorizontal();
+
+ bool fixedPowerCost = GUILayout.Toggle(ModuleLimitedDataTransmitter.fixedPowerCost, "Use fixed power cost");
+ if (fixedPowerCost != ModuleLimitedDataTransmitter.fixedPowerCost)
+ {
+ ModuleLimitedDataTransmitter.fixedPowerCost = fixedPowerCost;
+ this.SaveConfigValue("fixedPowerCost", fixedPowerCost);
+ }
+
+ GUILayout.EndHorizontal();
+
GUILayout.EndVertical();
GUI.DragWindow();
--- a/ModuleLimitedDataTransmitter.cs
+++ b/ModuleLimitedDataTransmitter.cs
@@ -54,6 +54,10 @@
* */
public class ModuleLimitedDataTransmitter : ModuleDataTransmitter, IScienceDataTransmitter, IAntennaRelay
{
+ // If true, use a fixed power cost at the configured value and degrade data rates instead of increasing power
+ // requirements.
+ public static bool fixedPowerCost;
+
// Stores the packetResourceCost as defined in the .cfg file.
protected float _basepacketResourceCost;
@@ -294,7 +298,7 @@
// transmission fails (see CanTransmit).
protected void PreTransmit_SetPacketResourceCost()
{
- if (this.transmitDistance <= this.nominalRange)
+ if (fixedPowerCost || this.transmitDistance <= this.nominalRange)
{
base.packetResourceCost = this._basepacketResourceCost;
}
@@ -311,7 +315,7 @@
// distance. packetSize maxes out at _basepacketSize * maxDataFactor.
protected void PreTransmit_SetPacketSize()
{
- if (this.transmitDistance >= this.nominalRange)
+ if (!fixedPowerCost && this.transmitDistance >= this.nominalRange)
{
base.packetSize = this._basepacketSize;
}
--- a/Properties/AssemblyInfo.cs
+++ b/Properties/AssemblyInfo.cs
@@ -29,6 +29,8 @@
using System.Reflection;
using System.Runtime.CompilerServices;
+[assembly: KSPAssemblyDependency("ToadicusTools", 0, 0)]
+
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
[assembly: AssemblyTitle("AntennaRange")]
@@ -37,10 +39,9 @@
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-[assembly: AssemblyVersion("1.1.*")]
+[assembly: AssemblyVersion("1.2.*")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]
-