From 0a058ac135ebed989d3185839303f48802bbb1b7 Mon Sep 17 00:00:00 2001 From: xen-42 Date: Sat, 24 May 2025 20:51:50 -0400 Subject: [PATCH] Add clear system api method for Nomai Sky --- NewHorizons/INewHorizons.cs | 7 +++++++ NewHorizons/NewHorizonsApi.cs | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/NewHorizons/INewHorizons.cs b/NewHorizons/INewHorizons.cs index 07512ad6..deecd0cf 100644 --- a/NewHorizons/INewHorizons.cs +++ b/NewHorizons/INewHorizons.cs @@ -255,5 +255,12 @@ namespace NewHorizons /// Persistent condition required for this title screen to appear. /// Ship log fact required for this title screen to appear. void RegisterTitleScreenBuilder(IModBehaviour mod, Action builder, bool disableNHPlanets = true, bool shareTitleScreen = false, string persistentConditionRequired = null, string factRequired = null); + + /// + /// Clears all loaded configs for the given system. + /// This exists solely for Nomai Sky to use :bleh: + /// + /// + void ClearSystem(string name); } } diff --git a/NewHorizons/NewHorizonsApi.cs b/NewHorizons/NewHorizonsApi.cs index 14a4fdcf..e62d0bdb 100644 --- a/NewHorizons/NewHorizonsApi.cs +++ b/NewHorizons/NewHorizonsApi.cs @@ -367,5 +367,17 @@ namespace NewHorizons public void RegisterTitleScreenBuilder(IModBehaviour mod, Action builder, bool disableNHPlanets = true, bool shareTitleScreen = false, string persistentConditionRequired = null, string factRequired = null) => TitleSceneHandler.RegisterBuilder(mod, builder, disableNHPlanets, shareTitleScreen, persistentConditionRequired, factRequired); + + public void ClearSystem(string name) + { + if (Main.SystemDict.ContainsKey(name)) + { + Main.SystemDict.Remove(name); + } + if (Main.BodyDict.ContainsKey(name)) + { + Main.BodyDict.Remove(name); + } + } } }