Relicensed to Modified BSD.
[VOID.git] / VOID_VesselInfo.cs
blob:a/VOID_VesselInfo.cs -> blob:b/VOID_VesselInfo.cs
--- a/VOID_VesselInfo.cs
+++ b/VOID_VesselInfo.cs
@@ -1,23 +1,31 @@
-//
-//  VOID_Orbital.cs
-//
-//  Author:
-//       toadicus <>
-//
-//  Copyright (c) 2013 toadicus
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// VOID
+//
+// VOID_VesselInfo.cs
+//
+// Copyright © 2014, toadicus
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation and/or other
+//    materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its contributors may be used
+//    to endorse or promote products derived from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// 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 KSP;
 using System;
 using System.Collections.Generic;
@@ -57,9 +65,9 @@
 
 			VOID_Data.partCount.DoGUIHorizontal ();
 
-			VOID_Data.totalMass.DoGUIHorizontal ("F1");
-
-			VOID_Data.resourceMass.DoGUIHorizontal ("F1");
+			VOID_Data.totalMass.DoGUIHorizontal ("F3");
+
+			VOID_Data.resourceMass.DoGUIHorizontal ("F3");
 
 			VOID_Data.stageDeltaV.DoGUIHorizontal (3, false);
 
@@ -226,15 +234,28 @@
 
 				foreach (Part part in VOID_Core.Instance.vessel.Parts)
 				{
-					if (part.HasModule<ModuleEngines>() && part.enabled)
+					if (part.enabled)
 					{
-						foreach (Propellant propellant in part.GetModule<ModuleEngines>().propellants)
-						{
-							if (propellant.name == "IntakeAir")
+						List<Propellant> propellantList = null;
+
+						if (part.HasModule<ModuleEngines>())
+						{
+							propellantList = part.GetModule<ModuleEngines>().propellants;
+						}
+						else if (part.HasModule<ModuleEnginesFX>())
+						{
+							propellantList = part.GetModule<ModuleEnginesFX>().propellants;
+						}
+							
+						if (propellantList != null)
+						{
+							foreach (Propellant propellant in propellantList)
 							{
-								// currentAmount += propellant.currentAmount;
-								currentRequirement += propellant.currentRequirement / TimeWarp.fixedDeltaTime;
-								break;
+								if (propellant.name == "IntakeAir")
+								{
+									currentRequirement += propellant.currentRequirement / TimeWarp.fixedDeltaTime;
+									break;
+								}
 							}
 						}
 					}