--- 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,7 +40,7 @@ { public VOID_VesselInfo() : base() { - this._Name = "Vessel Information"; + this.Name = "Vessel Information"; this.WindowPos.x = Screen.width - 260; this.WindowPos.y = 450; @@ -57,7 +57,7 @@ GUILayout.Label( vessel.vesselName, - core.LabelStyles["center_bold"], + VOID_Styles.labelCenterBold, GUILayout.ExpandWidth(true)); VOID_Data.geeForce.DoGUIHorizontal ("F2"); @@ -66,7 +66,9 @@ VOID_Data.totalMass.DoGUIHorizontal ("F3"); - VOID_Data.comboResourceMass.DoGUIHorizontal (); + VOID_Data.stageResourceMass.DoGUIHorizontal("F2"); + + VOID_Data.resourceMass.DoGUIHorizontal("F2"); VOID_Data.stageDeltaV.DoGUIHorizontal (3, false); @@ -87,240 +89,5 @@ GUI.DragWindow(); } } - - 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 (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 stageResourceMass = new VOID_DoubleValue( - "Resource Mass (Current Stage)", - delegate() - { - if (SimManager.LastStage == null) - { - return double.NaN; - } - - return SimManager.LastStage.mass - SimManager.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 (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>(() => core.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.thrustToWeight; - }, - "" - ); - - 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 * 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); - } - ); - } }