public static void MaybeFailFast(string origin, FormattableString msg, Exception ex) { var logger = new NamedLogger(origin, MyLog.Default); logger.Critical(msg); logger.Critical(ex); // ReSharper disable once InvertIf if (FailFast) { MyLog.Default?.Flush(); throw ex; } var utils = ((IMyUtilities)MyAPIUtilities.Static); if (!utils.IsDedicated && (!_errorDebounce.HasValue || DateTime.UtcNow > _errorDebounce.Value + TimeSpan.FromMinutes(5))) { utils.ShowNotification("An error occurred. Please submit your logs to Equinox", textColor: new Vector4(1, 0, 0, 1)); _errorDebounce = DateTime.UtcNow; } }