diff --git a/TransferWindowPlanner/Settings.cs b/TransferWindowPlanner/Settings.cs
index ecdb88c..e2cf762 100644
--- a/TransferWindowPlanner/Settings.cs
+++ b/TransferWindowPlanner/Settings.cs
@@ -63,7 +63,7 @@ internal enum DisplaySkin
[Persistent] internal TWP_KACWrapper.KACWrapper.KACAPI.AlarmActionEnum KACAlarmAction = TWP_KACWrapper.KACWrapper.KACAPI.AlarmActionEnum.KillWarp;
- [Persistent] internal Double KACMargin = 24;
+ [Persistent] internal Double AlarmMargin = 24;
[Persistent] internal Boolean ClickThroughProtect_KSC=true;
[Persistent] internal Boolean ClickThroughProtect_Editor=true;
@@ -72,6 +72,8 @@ internal enum DisplaySkin
[Persistent] internal bool UseStockDateFormatters = true;
+ [Persistent] internal bool OverrideKAC = false;
+
//Version Stuff
[Persistent] internal Boolean DailyVersionCheck = true;
internal Boolean VersionAttentionFlag = false;
diff --git a/TransferWindowPlanner/TWPWindow.cs b/TransferWindowPlanner/TWPWindow.cs
index 41c6564..9a9c8c0 100644
--- a/TransferWindowPlanner/TWPWindow.cs
+++ b/TransferWindowPlanner/TWPWindow.cs
@@ -446,18 +446,18 @@ private void DrawTransferDetails()
}
//Action Buttons
- if (KACWrapper.APIReady)
+ if (KACWrapper.APIReady && !settings.OverrideKAC)
{
if (GUI.Button(new Rect(10, WindowRect.height - 30, 132, 20), new GUIContent(" Add KAC Alarm", Resources.btnKAC)))
{
String tmpID = KACWrapper.KAC.CreateAlarm(KACWrapper.KACAPI.AlarmTypeEnum.TransferModelled,
String.Format("{0} -> {1}", mbTWP.windowMain.TransferSelected.Origin.bodyName, mbTWP.windowMain.TransferSelected.Destination.bodyName),
- (mbTWP.windowMain.TransferSelected.DepartureTime - settings.KACMargin * 60 * 60));
+ (mbTWP.windowMain.TransferSelected.DepartureTime - settings.AlarmMargin * 60 * 60));
KACWrapper.KACAPI.KACAlarm alarmNew = KACWrapper.KAC.Alarms.First(a => a.ID == tmpID);
alarmNew.Notes = mbTWP.windowMain.GenerateTransferDetailsText();
- alarmNew.AlarmMargin = settings.KACMargin * 60 * 60;
+ alarmNew.AlarmMargin = settings.AlarmMargin * 60 * 60;
alarmNew.AlarmAction = settings.KACAlarmAction;
alarmNew.XferOriginBodyName = mbTWP.windowMain.TransferSelected.Origin.bodyName;
alarmNew.XferTargetBodyName = mbTWP.windowMain.TransferSelected.Destination.bodyName;
@@ -471,13 +471,38 @@ private void DrawTransferDetails()
}
else
{
- if (GUI.Button(new Rect(10, WindowRect.height - 30, 250, 20), new GUIContent(" Copy Transfer Details", Resources.btnCopy)))
+ if (GUI.Button(new Rect(10, WindowRect.height - 30, 132, 20), new GUIContent(" Add ACA Alarm", Resources.btnKAC)))
+ {
+ AlarmTypeRaw raw = new AlarmTypeRaw();
+
+ raw.title = String.Format("{0}@{2:0} -> {1}@{3:0}",
+ mbTWP.windowMain.TransferSelected.Origin.bodyName,
+ mbTWP.windowMain.TransferSelected.Destination.bodyName,
+ TransferSpecs.InitialOrbitAltitude / 1000,
+ TransferSpecs.FinalOrbitAltitude / 1000);
+
+ raw.ut = mbTWP.windowMain.TransferSelected.DepartureTime - settings.AlarmMargin * 60 * 60;
+ raw.description = $"Alarm Margin: {settings.AlarmMargin} hours
";
+ raw.description += mbTWP.windowMain.GenerateTransferDetailsText().Replace("\n", "
");
+ // alarmNew.AlarmMargin = settings.KACMargin * 60 * 60;
+ raw.actions.warp = AlarmActions.WarpEnum.KillWarp;
+
+ //raw.sourceBody = mbTWP.windowMain.TransferSelected.Origin.bodyName;
+ //raw.destBody = mbTWP.windowMain.TransferSelected.Destination.bodyName;
+
+ if (raw.CanSetAlarm(KSP.UI.AlarmUIDisplayMode.Add))
+ {
+ AlarmClockScenario.AddAlarm(raw);
+ }
+ }
+
+
+ if (GUI.Button(new Rect(132 + 15, WindowRect.height - 30, 120, 20), new GUIContent(" Copy Details", Resources.btnCopy)))
{
CopyAllDetailsToClipboard();
}
}
-
-
+
GUILayout.EndVertical();
GUILayout.BeginVertical();
diff --git a/TransferWindowPlanner/TWPWindowSettings.cs b/TransferWindowPlanner/TWPWindowSettings.cs
index db80157..652e9a5 100644
--- a/TransferWindowPlanner/TWPWindowSettings.cs
+++ b/TransferWindowPlanner/TWPWindowSettings.cs
@@ -250,7 +250,33 @@ private void DrawWindow_General()
private void DrawWindow_Alarm()
{
- GUILayout.Label("Kerbal Alarm Clock Options", Styles.styleTextHeading);
+ GUILayout.BeginVertical(Styles.styleSettingsArea);
+
+ GUILayout.Space(10);
+
+ GUILayout.BeginHorizontal();
+ GUILayout.Label("Margin", Styles.styleText, GUILayout.Width(85));
+ if (DrawTextBox(ref settings.AlarmMargin))
+ settings.Save();
+ GUILayout.Label("(hours)", Styles.styleTextYellow, GUILayout.Width(50));
+ GUILayout.EndHorizontal();
+
+ GUILayout.Space(10);
+ GUILayout.Label("Alarm Clock App (ACA)", Styles.styleTextHeading);
+
+ if (!TWP_KACWrapper.KACWrapper.AssemblyExists || !TWP_KACWrapper.KACWrapper.InstanceExists)
+ {
+ GUILayout.Label("Stock Alarm Clock App is used.", Styles.styleTextCenterGreen);
+ }
+ else
+ {
+ if (DrawToggle(ref settings.OverrideKAC, "use Stock ACA instead of KAC", Styles.styleToggle))
+ {
+ settings.Save();
+ }
+ }
+ GUILayout.Space(10);
+ GUILayout.Label("Kerbal Alarm Clock (KAC)", Styles.styleTextHeading);
if (!TWP_KACWrapper.KACWrapper.AssemblyExists)
{
@@ -273,28 +299,18 @@ private void DrawWindow_Alarm()
GUILayout.Label("You can access these in scenes where KAC is visible", Styles.styleTextGreen);
GUILayout.Space(10);
GUILayout.Label("Go on... Move along... Nothing to see...", Styles.styleTextGreen);
-
}
else
{
//Alarm Area
- GUILayout.BeginVertical(Styles.styleSettingsArea);
//if (KACWrapper.KAC.DrawAlarmActionChoice(ref KACAlarmAction, "On Alarm:", 108, 61))
if (KACWrapper.KAC.DrawAlarmActionChoice(ref settings.KACAlarmAction, "Action:", 90 , 38))
{
settings.Save();
}
-
- GUILayout.BeginHorizontal();
- GUILayout.Label("Margin", Styles.styleText,GUILayout.Width(85));
- if (DrawTextBox(ref settings.KACMargin))
- settings.Save();
- GUILayout.Label("(hours)", Styles.styleTextYellow, GUILayout.Width(50));
-
- GUILayout.EndHorizontal();
-
- GUILayout.EndVertical();
}
+
+ GUILayout.EndVertical();
}
private void DrawWindow_Calendar()