VOID_VesselInfo: Fixed resource mass to actually display resource mass.
[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,16 +40,14 @@
 	{
 		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)
 		{
-			base.ModuleWindow (_);
-
 			if ((TimeWarp.WarpMode == TimeWarp.Modes.LOW) || (TimeWarp.CurrentRate <= TimeWarp.MaxPhysicsRate))
 			{
 				SimManager.RequestSimulation();
@@ -58,8 +56,8 @@
 			GUILayout.BeginVertical();
 
 			GUILayout.Label(
-				vessel.vesselName,
-				VOID_Core.Instance.LabelStyles["center_bold"],
+				Vessel.vesselName,
+				VOID_Styles.labelCenterBold,
 				GUILayout.ExpandWidth(true));
 
 			VOID_Data.geeForce.DoGUIHorizontal ("F2");
@@ -68,7 +66,9 @@
 
 			VOID_Data.totalMass.DoGUIHorizontal ("F3");
 
-			VOID_Data.resourceMass.DoGUIHorizontal ("F3");
+			VOID_Data.stageResourceMass.DoGUIHorizontal("F2");
+
+			VOID_Data.resourceMass.DoGUIHorizontal("F2");
 
 			VOID_Data.stageDeltaV.DoGUIHorizontal (3, false);
 
@@ -86,218 +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>(() => VOID_Core.Instance.vessel.geeForce),
-			"gees"
-		);
-
-		public static readonly VOID_IntValue partCount = new VOID_IntValue(
-			"Parts",
-			new Func<int>(() => VOID_Core.Instance.vessel.Parts.Count),
-			""
-		);
-
-		public static readonly VOID_DoubleValue totalMass = new VOID_DoubleValue(
-			"Total Mass",
-			delegate()
-		{
-			if (SimManager.Stages == null || SimManager.LastStage == null)
-			{
-				return double.NaN;
-			}
-
-			return SimManager.LastStage.totalMass;
-		},
-			"tons"
-		);
-
-		public static readonly VOID_DoubleValue resourceMass = new VOID_DoubleValue(
-			"Resource Mass",
-			delegate()
-			{
-				if (SimManager.Stages == null || SimManager.LastStage == null)
-				{
-					return double.NaN;
-				}
-
-				return SimManager.LastStage.totalMass - SimManager.LastStage.totalBaseMass;
-			},
-			"tons"
-		);
-
-		public static readonly VOID_DoubleValue stageDeltaV = new VOID_DoubleValue(
-			"DeltaV (Current Stage)",
-			delegate()
-			{
-				if (SimManager.Stages == null || SimManager.LastStage == null)
-					return double.NaN;
-				return SimManager.LastStage.deltaV;
-			},
-			"m/s"
-		);
-
-		public static readonly VOID_DoubleValue totalDeltaV = new VOID_DoubleValue(
-			"DeltaV (Total)",
-			delegate()
-			{
-				if (SimManager.Stages == null || SimManager.LastStage == null)
-					return double.NaN;
-				return SimManager.LastStage.totalDeltaV;
-			},
-			"m/s"
-		);
-
-		public static readonly VOID_FloatValue mainThrottle = new VOID_FloatValue(
-			"Throttle",
-			new Func<float>(() => VOID_Core.Instance.vessel.ctrlState.mainThrottle * 100f),
-			"%"
-		);
-
-		public static readonly VOID_StrValue currmaxThrust = new VOID_StrValue(
-			"Thrust (curr/max)",
-			delegate()
-			{
-				if (SimManager.Stages == null || SimManager.LastStage == null)
-					return "N/A";
-
-				double currThrust = SimManager.LastStage.actualThrust;
-				double maxThrust = SimManager.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 (SimManager.LastStage == null)
-			{
-				return double.NaN;
-			}
-
-			return SimManager.LastStage.actualThrustToWeight;
-		},
-			""
-		);
-
-		public static readonly VOID_DoubleValue maxThrustWeight = new VOID_DoubleValue(
-			"T:W Ratio",
-			delegate()
-		{
-			if (SimManager.LastStage == null)
-			{
-				return double.NaN;
-			}
-
-			return SimManager.LastStage.maxThrustToWeight;
-		},
-			""
-		);
-
-		public static readonly VOID_StrValue currmaxThrustWeight = new VOID_StrValue(
-			"T:W (curr/max)",
-			delegate()
-			{
-				if (SimManager.Stages == null || SimManager.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 (SimManager.Stages == null || SimManager.LastStage == null)
-					return double.NaN;
-
-				double maxThrust = SimManager.LastStage.thrust;
-				double mass = SimManager.LastStage.totalMass;
-				double gravity = (VOID_Core.Constant_G * VOID_Core.Instance.vessel.mainBody.Mass) /
-				(VOID_Core.Instance.vessel.mainBody.Radius * VOID_Core.Instance.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 VOID_Core.Instance.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);
-			}
-		);
 	}
 }