From 5b2177a7958dc851e5a6fa426dbc093df855a02b Mon Sep 17 00:00:00 2001 From: PopSlime Date: Tue, 29 Apr 2025 19:54:16 +0800 Subject: [PATCH] feat: Add using raw location name settings for CENC earthquake reports --- Assets/Cryville.EEW.Unity/Config.cs | 2 +- Assets/Cryville.EEW.Unity/Worker.cs | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Assets/Cryville.EEW.Unity/Config.cs b/Assets/Cryville.EEW.Unity/Config.cs index 9b2d55b..9169fa3 100644 --- a/Assets/Cryville.EEW.Unity/Config.cs +++ b/Assets/Cryville.EEW.Unity/Config.cs @@ -58,7 +58,7 @@ namespace Cryville.EEW.Unity { record NOAAEventSourceConfig([property: JsonRequired] string Subtype) : EventSourceConfig; record UpdateCheckerEventSourceConfig : EventSourceConfig; record USGSQuakeMLEventSourceConfig([property: JsonRequired] string Subtype) : EventSourceConfig; - record WolfxEventSourceConfig(IReadOnlyCollection Filter = null, bool IsFilterWhitelist = false) : EventSourceConfig; + record WolfxEventSourceConfig(IReadOnlyCollection Filter = null, bool IsFilterWhitelist = false, bool UseRawCENCLocationName = false) : EventSourceConfig; [JsonSerializable(typeof(Config))] [JsonSourceGenerationOptions(WriteIndented = true)] diff --git a/Assets/Cryville.EEW.Unity/Worker.cs b/Assets/Cryville.EEW.Unity/Worker.cs index c2d53c8..b276baf 100644 --- a/Assets/Cryville.EEW.Unity/Worker.cs +++ b/Assets/Cryville.EEW.Unity/Worker.cs @@ -88,9 +88,10 @@ namespace Cryville.EEW.Unity { _ongoingReportManager.Dispose(); } - static void RegisterViewModelGenerators(CoreWorker worker) { + CENCEarthquakeRVMGenerator _cencEarthquakeRVMGenerator; + void RegisterViewModelGenerators(CoreWorker worker) { worker.RegisterViewModelGenerator(new BMKGEarthquakeRVMGenerator()); - worker.RegisterViewModelGenerator(new CENCEarthquakeRVMGenerator()); + worker.RegisterViewModelGenerator(_cencEarthquakeRVMGenerator = new CENCEarthquakeRVMGenerator()); worker.RegisterViewModelGenerator(new CENCEEWRVMGenerator()); worker.RegisterViewModelGenerator(new CWAEarthquakeRVMGenerator()); worker.RegisterViewModelGenerator(new CWAEEWRVMGenerator()); @@ -105,9 +106,10 @@ namespace Cryville.EEW.Unity { worker.RegisterViewModelGenerator(new SichuanEEWRVMGenerator()); worker.RegisterViewModelGenerator(new VersionRVMGenerator()); } - static void RegisterTTSMessageGenerators(CoreWorker worker) { + CENCEarthquakeTTSMessageGenerator _cencEarthquakeTTSMessageGenerator; + void RegisterTTSMessageGenerators(CoreWorker worker) { worker.RegisterTTSMessageGenerator(new BMKGEarthquakeTTSMessageGenerator()); - worker.RegisterTTSMessageGenerator(new CENCEarthquakeTTSMessageGenerator()); + worker.RegisterTTSMessageGenerator(_cencEarthquakeTTSMessageGenerator = new CENCEarthquakeTTSMessageGenerator()); worker.RegisterTTSMessageGenerator(new CENCEEWTTSMessageGenerator()); worker.RegisterTTSMessageGenerator(new CWAEarthquakeTTSMessageGenerator()); worker.RegisterTTSMessageGenerator(new CWAEEWTTSMessageGenerator()); @@ -164,7 +166,7 @@ namespace Cryville.EEW.Unity { worker.IsFilterWhitelist = config.IsFilterWhitelist; return worker; } - static WolfxWorker BuildWolfxWorkerFilter(WolfxWorker worker, WolfxEventSourceConfig config) { + WolfxWorker BuildWolfxWorkerFilter(WolfxWorker worker, WolfxEventSourceConfig config) { if (config.Filter != null) worker.SetFilter(config.Filter.Select(i => i switch { "cenc_eew" => typeof(CENCEEW), "cenc_eqlist" => typeof(WolfxEarthquakeList), @@ -175,6 +177,11 @@ namespace Cryville.EEW.Unity { _ => throw new InvalidOperationException("Unknown Wolfx event type."), })); worker.IsFilterWhitelist = config.IsFilterWhitelist; + + _cencEarthquakeRVMGenerator.UseRawLocationName + = _cencEarthquakeTTSMessageGenerator.UseRawLocationName + = config.UseRawCENCLocationName; + return worker; } static BMKGOpenDataWorker BuildBMKGOpenDataWorkerUris(BMKGOpenDataWorker worker, BMKGOpenDataEventSourceConfig config) {