Major Surgery to change to the new copy-on-update access method for KER.
[VOID.git] / VOID_VesselInfo.cs
blob:a/VOID_VesselInfo.cs -> blob:b/VOID_VesselInfo.cs
--- a/VOID_VesselInfo.cs
+++ b/VOID_VesselInfo.cs
@@ -26,8 +26,8 @@
 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-using Engineer.VesselSimulator;
-using Engineer.Extensions;
+using KerbalEngineer.VesselSimulator;
+using KerbalEngineer.Extensions;
 using KSP;
 using System;
 using System.Collections.Generic;
@@ -40,13 +40,13 @@
 	{
 		public VOID_VesselInfo() : base()
 		{
-			this._Name = "Vessel Information";
+			this.Name = "Vessel Information";
 
 			this.WindowPos.x = Screen.width - 260;
 			this.WindowPos.y = 450;
 		}
 
-		public override void ModuleWindow(int _)
+		public override void ModuleWindow(int id)
 		{
 			if ((TimeWarp.WarpMode == TimeWarp.Modes.LOW) || (TimeWarp.CurrentRate <= TimeWarp.MaxPhysicsRate))
 			{
@@ -56,8 +56,8 @@
 			GUILayout.BeginVertical();
 
 			GUILayout.Label(
-				vessel.vesselName,
-				core.LabelStyles["center_bold"],
+				Vessel.vesselName,
+				VOID_Styles.labelCenterBold,
 				GUILayout.ExpandWidth(true));
 
 			VOID_Data.geeForce.DoGUIHorizontal ("F2");
@@ -86,243 +86,8 @@
 
 			GUILayout.EndVertical();
 
-			GUI.DragWindow();
+			base.ModuleWindow(id);
 		}
-	}
-
-	public static partial class VOID_Data
-	{
-		public static readonly VOID_DoubleValue geeForce = new VOID_DoubleValue(
-			"G-force",
-			new Func<double>(() => core.vessel.geeForce),
-			"gees"
-		);
-
-		public static readonly VOID_IntValue partCount = new VOID_IntValue(
-			"Parts",
-			new Func<int>(() => core.vessel.Parts.Count),
-			""
-		);
-
-		public static readonly VOID_DoubleValue totalMass = new VOID_DoubleValue(
-			"Total Mass",
-			delegate()
-		{
-			if (core.Stages == null || core.LastStage == null)
-			{
-				return double.NaN;
-			}
-
-			return core.LastStage.totalMass;
-		},
-			"tons"
-		);
-
-		public static readonly VOID_DoubleValue resourceMass = new VOID_DoubleValue(
-			"Resource Mass",
-			delegate()
-			{
-				if (core.Stages == null || core.LastStage == null)
-				{
-					return double.NaN;
-				}
-
-				return core.LastStage.totalMass - core.LastStage.totalBaseMass;
-			},
-			"tons"
-		);
-
-		public static readonly VOID_DoubleValue stageResourceMass = new VOID_DoubleValue(
-			"Resource Mass (Stage)",
-			delegate()
-			{
-				if (core.LastStage == null)
-				{
-					return double.NaN;
-				}
-
-				return core.LastStage.mass - core.LastStage.baseMass;
-			},
-			"tons"
-		);
-
-		public static readonly VOID_StrValue comboResourceMass = new VOID_StrValue(
-			"Resource Mass (curr / total)",
-			delegate()
-		{
-			return string.Format("{0} / {1}",
-				stageResourceMass.ValueUnitString("F3"),
-				resourceMass.ValueUnitString("F3")
-			);
-		}
-		);
-
-		public static readonly VOID_DoubleValue stageDeltaV = new VOID_DoubleValue(
-			"DeltaV (Current Stage)",
-			delegate()
-			{
-			if (core.Stages == null || core.LastStage == null)
-					return double.NaN;
-				return core.LastStage.deltaV;
-			},
-			"m/s"
-		);
-
-		public static readonly VOID_DoubleValue totalDeltaV = new VOID_DoubleValue(
-			"DeltaV (Total)",
-			delegate()
-			{
-			if (core.Stages == null || core.LastStage == null)
-					return double.NaN;
-				return core.LastStage.totalDeltaV;
-			},
-			"m/s"
-		);
-
-		public static readonly VOID_FloatValue mainThrottle = new VOID_FloatValue(
-			"Throttle",
-			new Func<float>(() => core.vessel.ctrlState.mainThrottle * 100f),
-			"%"
-		);
-
-		public static readonly VOID_StrValue currmaxThrust = new VOID_StrValue(
-			"Thrust (curr/max)",
-			delegate()
-			{
-				if (core.Stages == null || core.LastStage == null)
-					return "N/A";
-
-				double currThrust = core.LastStage.actualThrust;
-				double maxThrust = core.LastStage.thrust;
-
-				return string.Format(
-					"{0} / {1}",
-					currThrust.ToString("F1"),
-					maxThrust.ToString("F1")
-				);
-			}
-		);
-
-		public static readonly VOID_DoubleValue currThrustWeight = new VOID_DoubleValue(
-			"T:W Ratio",
-			delegate()
-		{
-			if (core.LastStage == null)
-			{
-				return double.NaN;
-			}
-
-			return core.LastStage.actualThrustToWeight;
-		},
-			""
-		);
-
-		public static readonly VOID_DoubleValue maxThrustWeight = new VOID_DoubleValue(
-			"T:W Ratio",
-			delegate()
-		{
-			if (core.LastStage == null)
-			{
-				return double.NaN;
-			}
-
-			return core.LastStage.thrustToWeight;
-		},
-			""
-		);
-
-		public static readonly VOID_StrValue currmaxThrustWeight = new VOID_StrValue(
-			"T:W (curr/max)",
-			delegate()
-			{
-				if (core.Stages == null || core.LastStage == null)
-					return "N/A";
-
-				return string.Format(
-					"{0} / {1}",
-					(VOID_Data.currThrustWeight.Value).ToString("F2"),
-					(VOID_Data.maxThrustWeight.Value).ToString("F2")
-				);
-			}
-		);
-
-		public static readonly VOID_DoubleValue surfaceThrustWeight = new VOID_DoubleValue(
-			"Max T:W @ surface",
-			delegate()
-			{
-			if (core.Stages == null || core.LastStage == null)
-					return double.NaN;
-
-				double maxThrust = core.LastStage.thrust;
-				double mass = core.LastStage.totalMass;
-				double gravity = (VOID_Core.Constant_G * core.vessel.mainBody.Mass) /
-				(core.vessel.mainBody.Radius * core.vessel.mainBody.Radius);
-				double weight = mass * gravity;
-
-				return maxThrust / weight;
-			},
-			""
-		);
-
-		public static readonly VOID_StrValue intakeAirStatus = new VOID_StrValue(
-			"Intake Air (Curr / Req)",
-			delegate()
-			{
-				double currentAmount;
-				double currentRequirement;
-
-				currentAmount = 0d;
-				currentRequirement = 0d;
-
-				foreach (Part part in core.vessel.Parts)
-				{
-					if (part.enabled)
-					{
-						ModuleEngines engineModule;
-						ModuleEnginesFX enginesFXModule;
-						List<Propellant> propellantList = null;
-
-						if (part.tryGetFirstModuleOfType<ModuleEngines>(out engineModule))
-						{
-							propellantList = engineModule.propellants;
-						}
-						else if (part.tryGetFirstModuleOfType<ModuleEnginesFX>(out enginesFXModule))
-						{
-							propellantList = enginesFXModule.propellants;
-						}
-							
-						if (propellantList != null)
-						{
-							foreach (Propellant propellant in propellantList)
-							{
-								if (propellant.name == "IntakeAir")
-								{
-									currentRequirement += propellant.currentRequirement / TimeWarp.fixedDeltaTime;
-									break;
-								}
-							}
-						}
-					}
-
-					ModuleResourceIntake intakeModule;
-
-					if (part.enabled && part.tryGetFirstModuleOfType<ModuleResourceIntake>(out intakeModule))
-					{
-						if (intakeModule.resourceName == "IntakeAir")
-						{
-							currentAmount += intakeModule.airFlow;
-						}
-					}
-				}
-
-				if (currentAmount == 0 && currentRequirement == 0)
-				{
-					return "N/A";
-				}
-
-				return string.Format("{0:F3} / {1:F3}", currentAmount, currentRequirement);
-			}
-		);
 	}
 }