iSpyApplication.Controls.VolumeLevel.CheckAlert C# (CSharp) Method

CheckAlert() private method

private CheckAlert ( double since ) : void
since double
return void
        private void CheckAlert(double since)
        {
            if (IsEnabled && AudioSource != null)
            {
                if (Alerted)
                {
                    if ((Helper.Now - LastAlerted).TotalSeconds > Micobject.alerts.minimuminterval)
                    {
                        Alerted = false;
                        UpdateFloorplans(false);
                    }
                }
                else
                {
                    if (Micobject.alerts.active && AudioSource != null)
                    {
                        switch (Micobject.alerts.mode)
                        {
                            case "sound":
                                if (SoundDetected)
                                {
                                    SoundCount += since;
                                    if (SoundCount >= Micobject.detector.soundinterval)
                                    {
                                        if (Helper.CanAlert(Micobject.alerts.groupname, Micobject.alerts.resetinterval))
                                        {
                                            DoAlert("alert");
                                            SoundCount = 0;
                                        }
                                    }
                                }
                                else
                                    SoundCount = 0;

                                break;
                            case "nosound":
                                if ((Helper.Now - LastSoundDetected).TotalSeconds >
                                    Micobject.detector.nosoundinterval)
                                {
                                    if (Helper.CanAlert(Micobject.alerts.groupname, Micobject.alerts.resetinterval))
                                    {
                                        DoAlert("alert");
                                    }
                                }
                                break;
                        }
                    }
                }
            }
        }