diff --git a/NewHorizons/External/Configs/TitleScreenConfig.cs b/NewHorizons/External/Configs/TitleScreenConfig.cs
index 5451c003..575b29c6 100644
--- a/NewHorizons/External/Configs/TitleScreenConfig.cs
+++ b/NewHorizons/External/Configs/TitleScreenConfig.cs
@@ -8,6 +8,15 @@ namespace NewHorizons.External.Configs
{
[JsonObject]
public class TitleScreenConfig
+ {
+ ///
+ /// Create title screens
+ ///
+ public TitleScreenInfo[] titleScreens;
+ }
+
+ [JsonObject]
+ public class TitleScreenInfo
{
///
/// Colour of the text on the main menu
diff --git a/NewHorizons/Handlers/TitleSceneHandler.cs b/NewHorizons/Handlers/TitleSceneHandler.cs
index e3fe01a7..ca8492c7 100644
--- a/NewHorizons/Handlers/TitleSceneHandler.cs
+++ b/NewHorizons/Handlers/TitleSceneHandler.cs
@@ -119,7 +119,7 @@ namespace NewHorizons.Handlers
subtitleContainer.AddComponent();
}
- public static void BuildConfig(IModBehaviour mod, TitleScreenConfig config)
+ public static void BuildConfig(IModBehaviour mod, TitleScreenInfo config)
{
if (config.menuTextTint != null)
{
@@ -436,7 +436,7 @@ namespace NewHorizons.Handlers
TitleScreenBuilders[mod].Add(builder);
}
- public static void RegisterBuilder(IModBehaviour mod, TitleScreenConfig config)
+ public static void RegisterBuilder(IModBehaviour mod, TitleScreenInfo config)
=> RegisterBuilder(mod,
new TitleScreenConfigBuilder(mod, config));
@@ -522,9 +522,9 @@ namespace NewHorizons.Handlers
internal class TitleScreenConfigBuilder : ITitleScreenBuilder
{
public IModBehaviour mod;
- public TitleScreenConfig config;
+ public TitleScreenInfo config;
- public TitleScreenConfigBuilder(IModBehaviour mod, TitleScreenConfig config)
+ public TitleScreenConfigBuilder(IModBehaviour mod, TitleScreenInfo config)
{
this.mod = mod;
this.config = config;
diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs
index 8569da89..c6bf6cd9 100644
--- a/NewHorizons/Main.cs
+++ b/NewHorizons/Main.cs
@@ -860,6 +860,10 @@ namespace NewHorizons
}
TitleScreenConfigs[mod] = titleScreenConfig;
+ foreach (var info in titleScreenConfig.titleScreens)
+ {
+ TitleSceneHandler.RegisterBuilder(mod, info);
+ }
}
private void LoadTranslations(string folder, IModBehaviour mod)