diff --git a/Directory.Build.props b/Directory.Build.props index 71acc73..077926f 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@  enable - 3.1.1 + 3.1.2 @@ -22,4 +22,4 @@ ../stylecop.ruleset True - \ No newline at end of file + diff --git a/SecretAPI.sln b/SecretAPI.sln deleted file mode 100644 index 4ed659a..0000000 --- a/SecretAPI.sln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SecretAPI", "SecretAPI\SecretAPI.csproj", "{7B4B7EEF-17DE-40AD-B3F2-53117CAA5B9C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SecretAPI.Examples", "SecretAPI.Examples\SecretAPI.Examples.csproj", "{0064C982-5FE1-4B65-82F9-2EEF85651188}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7B4B7EEF-17DE-40AD-B3F2-53117CAA5B9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7B4B7EEF-17DE-40AD-B3F2-53117CAA5B9C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7B4B7EEF-17DE-40AD-B3F2-53117CAA5B9C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7B4B7EEF-17DE-40AD-B3F2-53117CAA5B9C}.Release|Any CPU.Build.0 = Release|Any CPU - {0064C982-5FE1-4B65-82F9-2EEF85651188}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0064C982-5FE1-4B65-82F9-2EEF85651188}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0064C982-5FE1-4B65-82F9-2EEF85651188}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0064C982-5FE1-4B65-82F9-2EEF85651188}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/SecretAPI.slnx b/SecretAPI.slnx new file mode 100644 index 0000000..99c20fd --- /dev/null +++ b/SecretAPI.slnx @@ -0,0 +1,4 @@ + + + + diff --git a/SecretAPI/Features/Effects/CustomPlayerEffect.cs b/SecretAPI/Features/Effects/CustomPlayerEffect.cs index 0e63469..5b77bec 100644 --- a/SecretAPI/Features/Effects/CustomPlayerEffect.cs +++ b/SecretAPI/Features/Effects/CustomPlayerEffect.cs @@ -36,7 +36,6 @@ public abstract class CustomPlayerEffect : StatusEffectBase [CallOnLoad] internal static void Initialize() { - SecretApi.Harmony.PatchCategory(nameof(CustomPlayerEffect), SecretApi.Assembly); EffectsToRegister.Add(typeof(Energized)); EffectsToRegister.Add(typeof(Depleted)); diff --git a/SecretAPI/Features/UserSettings/CustomSetting.cs b/SecretAPI/Features/UserSettings/CustomSetting.cs index 556e9d7..5e5f042 100644 --- a/SecretAPI/Features/UserSettings/CustomSetting.cs +++ b/SecretAPI/Features/UserSettings/CustomSetting.cs @@ -295,25 +295,31 @@ public static void SendSettingsToPlayer(Player player, int? version = null) } CustomSetting playerSpecific = EnsurePlayerSpecificSetting(player, setting); - setting.IsCurrentlyAccessible = true; playerSpecific.PersonalizeSetting(); + setting.IsCurrentlyAccessible = true; playerSettings.Add(playerSpecific); } - List ordered = ListPool.Shared.Rent(); - foreach (IGrouping grouping in playerSettings.GroupBy(static setting => setting.Header)) + if (playerSettings.Count != 0) { - ordered.Add(grouping.Key.Base); - ordered.AddRange(grouping.Select(static setting => setting.Base)); - } + List ordered = ListPool.Shared.Rent(); + foreach (IGrouping grouping in playerSettings.GroupBy(static setting => setting.Header)) + { + ordered.Add(grouping.Key.Base); + ordered.AddRange(grouping.Select(static setting => setting.Base)); + } - if (ServerSpecificSettingsSync.DefinedSettings != null) ordered.AddRange(ServerSpecificSettingsSync.DefinedSettings); - ServerSpecificSettingsSync.SendToPlayer(player.ReferenceHub, ordered.ToArray(), version); + ServerSpecificSettingsSync.SendToPlayer(player.ReferenceHub, ordered.ToArray(), version); + ListPool.Shared.Return(ordered); + } + else + { + ServerSpecificSettingsSync.SendToPlayer(player.ReferenceHub, ServerSpecificSettingsSync.DefinedSettings, version); + } ListPool.Shared.Return(playerSettings); - ListPool.Shared.Return(ordered); } ///