private static GUIStyle GetVesselButtonStyle(TransferPump.TypePump pumpType, ModDockedVessel modDockedVessel) { GUIStyle style; if (pumpType == TransferPump.TypePump.SourceToTarget) { style = SMAddon.SmVessel.SelectedVesselsSource.Contains(modDockedVessel) ? SMStyle.ButtonToggledSourceStyle : SMStyle.ButtonSourceStyle; } else { style = SMAddon.SmVessel.SelectedVesselsTarget.Contains(modDockedVessel) ? SMStyle.ButtonToggledTargetStyle : SMStyle.ButtonTargetStyle; } return style; }
private static string GetResourceDescription(List<string> selectedResources, ModDockedVessel modDockedVvessel) { string strDescription = GetVesselResourceTotals(modDockedVvessel, selectedResources) + " - " + modDockedVvessel.VesselName; return strDescription; }
internal static string GetVesselResourceTotals(ModDockedVessel modDockedVessel, List<string> selectedResources) { double currAmount = 0; double totAmount = 0; try { List<ModDockedVessel> modDockedVessels = new List<ModDockedVessel> { modDockedVessel }; List<Part>.Enumerator parts = SMAddon.SmVessel.GetSelectedVesselsParts(modDockedVessels, selectedResources).GetEnumerator(); while (parts.MoveNext()) { if (parts.Current == null) continue; currAmount += parts.Current.Resources[selectedResources[0]].amount; totAmount += parts.Current.Resources[selectedResources[0]].maxAmount; } } catch (Exception ex) { Utilities.LogMessage(string.Format(" in DisplayVesselResourceTotals(). Error: {0}", ex), Utilities.LogType.Error, true); } string displayAmount = string.Format("({0}/{1})", currAmount.ToString("#######0"), totAmount.ToString("######0")); return displayAmount; }
private static bool CanSelectVessel(TransferPump.TypePump pumpType, ModDockedVessel modDockedVessel) { bool isSelectable = true; if (pumpType == TransferPump.TypePump.SourceToTarget) { if (SMAddon.SmVessel.SelectedVesselsTarget.Contains(modDockedVessel)) isSelectable = false; } else { if (SMAddon.SmVessel.SelectedVesselsSource.Contains(modDockedVessel)) isSelectable = false; } return isSelectable; }
private static void VesselButtonToggled(TransferPump.TypePump pumpType, ModDockedVessel modVessel) { string step = "Vessel Button Toggled"; try { if (pumpType == TransferPump.TypePump.SourceToTarget) { // Now lets update the list... if (SMAddon.SmVessel.SelectedVesselsSource.Contains(modVessel)) SMAddon.SmVessel.SelectedVesselsSource.Remove(modVessel); else SMAddon.SmVessel.SelectedVesselsSource.Add(modVessel); SMAddon.SmVessel.SelectedPartsSource = SMAddon.SmVessel.GetSelectedVesselsParts(SMAddon.SmVessel.SelectedVesselsSource, SMAddon.SmVessel.SelectedResources); } else { if (SMAddon.SmVessel.SelectedVesselsTarget.Contains(modVessel)) SMAddon.SmVessel.SelectedVesselsTarget.Remove(modVessel); else SMAddon.SmVessel.SelectedVesselsTarget.Add(modVessel); SMAddon.SmVessel.SelectedPartsTarget = SMAddon.SmVessel.GetSelectedVesselsParts(SMAddon.SmVessel.SelectedVesselsTarget, SMAddon.SmVessel.SelectedResources); } WindowManifest.ResolveResourcePartSelections(SMAddon.SmVessel.SelectedResources); } catch (Exception ex) { if (!SMAddon.FrameErrTripped) { Utilities.LogMessage( "Error in WindowTransfer.VesselButtonToggled (" + pumpType + ") at step: " + step + ". Error: " + ex, Utilities.LogType.Error, true); SMAddon.FrameErrTripped = true; } } }