diff --git a/Autoloads/GameSettingsNode.cs b/Autoloads/GameSettingsNode.cs index 08e074d..88f024b 100644 --- a/Autoloads/GameSettingsNode.cs +++ b/Autoloads/GameSettingsNode.cs @@ -1,6 +1,7 @@ +using CMSGame.Models; using Newtonsoft.Json; -namespace CMSGame +namespace CMSGame.Autoloads { /// /// 游戏设置持久化节点 @@ -26,7 +27,6 @@ namespace CMSGame RegisterAllSettings(); MakeDirectories(); LoadAllSettings(); - ApplyVideoSettings(); } protected void RegisterAllSettings() @@ -99,17 +99,5 @@ namespace CMSGame using var file = FileAccess.Open(SettingsPaths[settingsType], FileAccess.ModeFlags.Write); file.StoreString(settingsText); } - - public void ApplyVideoSettings() - { - if (VideoSettings.UseFullScreen) - { - DisplayServer.WindowSetMode(DisplayServer.WindowMode.Fullscreen); - } - else - { - DisplayServer.WindowSetMode(DisplayServer.WindowMode.Windowed); - } - } } } diff --git a/Components/Settings/SettingsMenu.cs b/Components/Settings/SettingsMenu.cs index 1e03f50..24ee483 100644 --- a/Components/Settings/SettingsMenu.cs +++ b/Components/Settings/SettingsMenu.cs @@ -1,8 +1,10 @@ +using CMSGame.Autoloads; + namespace CMSGame { public partial class SettingsMenu : TabContainer { - private bool _inDevelopment => OS.HasFeature("debug") || OS.HasFeature("editor"); + private static bool s_inDevelopment => OS.HasFeature("debug") || OS.HasFeature("editor"); public GameSettingsNode? Settings; @@ -23,7 +25,7 @@ namespace CMSGame this.GetUniqueNode(ref AudioSettingsMenu, nameof(AudioSettingsMenu)); this.GetUniqueNode(ref DeveloperOptionsMenu, nameof(DeveloperOptionsMenu)); - DeveloperOptionsMenu!.Visible = _inDevelopment; + DeveloperOptionsMenu!.Visible = s_inDevelopment; } } } diff --git a/Components/Settings/VideoSettingsMenu.cs b/Components/Settings/VideoSettingsMenu.cs index 1ab3569..64e8590 100644 --- a/Components/Settings/VideoSettingsMenu.cs +++ b/Components/Settings/VideoSettingsMenu.cs @@ -1,3 +1,5 @@ +using CMSGame.Models; + namespace CMSGame { public partial class VideoSettingsMenu : Control diff --git a/Helpers/DisplayServerHelper.cs b/Helpers/DisplayServerHelper.cs new file mode 100644 index 0000000..57bf58f --- /dev/null +++ b/Helpers/DisplayServerHelper.cs @@ -0,0 +1,17 @@ +namespace CMSGame.Helpers +{ + internal static class DisplayServerHelper + { + public static void ApplyAndPersistResolutionSettings(bool useFullScreen) + { + if (useFullScreen) + { + DisplayServer.WindowSetMode(DisplayServer.WindowMode.Fullscreen); + } + else + { + DisplayServer.WindowSetMode(DisplayServer.WindowMode.Windowed); + } + } + } +} diff --git a/Models/Changelog.cs b/Models/Changelog.cs index 965cf57..a5edc05 100644 --- a/Models/Changelog.cs +++ b/Models/Changelog.cs @@ -40,7 +40,7 @@ namespace CMSGame.Models if (fileContent == null) return; Changelog? changelog = null; - StringBuilder contentBuilder = new StringBuilder(); + StringBuilder contentBuilder = new(); var commitChangelog = () => { diff --git a/Autoloads/GameSettings.cs b/Models/GameSettings.cs similarity index 95% rename from Autoloads/GameSettings.cs rename to Models/GameSettings.cs index 09fced2..7eb3bf0 100644 --- a/Autoloads/GameSettings.cs +++ b/Models/GameSettings.cs @@ -1,4 +1,4 @@ -namespace CMSGame +namespace CMSGame.Models { public record class GameSettings { diff --git a/Scenes/LandingScene/ChangelogContainer.cs b/Scenes/LandingScene/ChangelogContainer.cs index b360ad2..bcb60cd 100644 --- a/Scenes/LandingScene/ChangelogContainer.cs +++ b/Scenes/LandingScene/ChangelogContainer.cs @@ -20,7 +20,7 @@ namespace CMSGame { var changelogText = _changelogList.Select(log => { - StringBuilder textBuilder = new StringBuilder(); + StringBuilder textBuilder = new(); textBuilder.Append($"[b]{log.Title}[/b]"); if (log.Date != null)