From 53f7bc0b67fc872c264190a699148230dfb83f89 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 21 Jul 2023 19:53:29 -0400 Subject: [PATCH] Throw error when making signal without name or frequency #660 --- NewHorizons/Builder/Props/Audio/SignalBuilder.cs | 4 ++++ NewHorizons/Builder/Props/PropBuildManager.cs | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Builder/Props/Audio/SignalBuilder.cs b/NewHorizons/Builder/Props/Audio/SignalBuilder.cs index a5e74626..e5e0b885 100644 --- a/NewHorizons/Builder/Props/Audio/SignalBuilder.cs +++ b/NewHorizons/Builder/Props/Audio/SignalBuilder.cs @@ -5,6 +5,7 @@ using NewHorizons.Utility.OWML; using OWML.Common; using OWML.Utils; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using UnityEngine; using UnityEngine.SceneManagement; @@ -134,6 +135,9 @@ namespace NewHorizons.Builder.Props.Audio public static GameObject Make(GameObject planetGO, Sector sector, SignalInfo info, IModBehaviour mod) { + if (string.IsNullOrEmpty(info.frequency)) throw new System.Exception("Cannot make a signal without a frequency"); + if (string.IsNullOrEmpty(info.name)) throw new System.Exception("Cannot make a signal without a name"); + var owAudioSource = GeneralAudioBuilder.Make(planetGO, sector, info, mod); var signalGO = owAudioSource.gameObject; diff --git a/NewHorizons/Builder/Props/PropBuildManager.cs b/NewHorizons/Builder/Props/PropBuildManager.cs index ddd96c13..ddb5a17e 100644 --- a/NewHorizons/Builder/Props/PropBuildManager.cs +++ b/NewHorizons/Builder/Props/PropBuildManager.cs @@ -225,7 +225,14 @@ namespace NewHorizons.Builder.Props { foreach (var signal in config.Props.signals) { - SignalBuilder.Make(go, sector, signal, mod); + try + { + SignalBuilder.Make(go, sector, signal, mod); + } + catch (Exception ex) + { + NHLogger.LogError($"Couldn't make signal on planet [{config.name}] - {ex}"); + } } } if (config.Props.remotes != null)