Пример #1
0
        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;
            }
        }
Пример #2
0
        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;
                    }
                }
            }
        }