void setKACAlarm(double totalPrintTime) { if (!KACWrapper.AssemblyExists) { return; } if (!KACWrapper.APIReady) { return; } //Delete the alarm if it exists if (!string.IsNullOrEmpty(KACAlarmID)) { KACWrapper.KAC.DeleteAlarm(KACAlarmID); } //Get the start time double startTime = Planetarium.GetUniversalTime(); //Now set the alarm double buildTimeSeconds = Planetarium.GetUniversalTime() + totalPrintTime; KACAlarmID = KACWrapper.KAC.CreateAlarm(KACWrapper.KACAPI.AlarmTypeEnum.Raw, "Print job completed", buildTimeSeconds); kacAlarm = getKACAlarm(); if (kacAlarm != null) { kacAlarm.AlarmMargin = 5.0f; kacAlarm.Notes = this.part.vessel.vesselName + " completed print job."; KACWrapper.KAC.Alarms[kacAlarmIndex] = kacAlarm; } }
void deleteKACAlarm() { KACAlarmID = string.Empty; kacAlarm = null; if (KACWrapper.AssemblyExists && KACWrapper.APIReady && !string.IsNullOrEmpty(KACAlarmID)) { int totalAlarms = KACWrapper.KAC.Alarms.Count; for (int index = 0; index < totalAlarms; index++) { if (KACWrapper.KAC.Alarms[index].ID == KACAlarmID) { KACWrapper.KAC.DeleteAlarm(KACAlarmID); return; } } } }