From c1d7a4b099d85270504d4cb9c2cc02f95b466c26 Mon Sep 17 00:00:00 2001 From: Isamu Mogi Date: Fri, 3 May 2024 00:01:38 +0900 Subject: [PATCH] =?UTF-8?q?Unity2023.1=E4=BB=A5=E9=99=8D=E3=81=A7GetScript?= =?UTF-8?q?ingDefineSymbolsForGroup=E7=B3=BBAPI=E3=81=8CObsolete=E8=AD=A6?= =?UTF-8?q?=E5=91=8A=E3=81=8C=E5=87=BA=E3=82=8B=E3=81=AE=E3=81=AB=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unity 2023.1以降のバージョンでPlayerSettings.GetScriptingDefineSymbolsForGroup()系の関数がObsoleteになり、次の警告が発生していました。 ``` Assets\UniGLTF\Editor\UniGLTF\UniGLTFPreference.cs(109,27): warning CS0618: 'PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup)' is obsolete: 'Use GetScriptingDefineSymbols(NamedBuildTarget buildTarget) instead' Assets\UniGLTF\Editor\UniGLTF\UniGLTFPreference.cs(116,27): warning CS0618: 'PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup)' is obsolete: 'Use GetScriptingDefineSymbols(NamedBuildTarget buildTarget) instead' Assets\UniGLTF\Editor\UniGLTF\UniGLTFPreference.cs(117,13): warning CS0618: 'PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup, string)' is obsolete: 'Use SetScriptingDefineSymbols(NamedBuildTarget buildTarget, string defines) instead' Assets\UniGLTF\Editor\UniGLTF\UniGLTFPreference.cs(125,27): warning CS0618: 'PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup)' is obsolete: 'Use GetScriptingDefineSymbols(NamedBuildTarget buildTarget) instead' Assets\UniGLTF\Editor\UniGLTF\UniGLTFPreference.cs(126,13): warning CS0618: 'PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup, string)' is obsolete: 'Use SetScriptingDefineSymbols(NamedBuildTarget buildTarget, string defines) instead' ``` 代わりにGetScriptingDefineSymbols系APIを使うようにしました。これはUnity 2021.3にも存在しているので、そのまま置き換えることができました。 --- .../Editor/UniGLTF/UniGLTFPreference.cs | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Assets/UniGLTF/Editor/UniGLTF/UniGLTFPreference.cs b/Assets/UniGLTF/Editor/UniGLTF/UniGLTFPreference.cs index 2906a996a..2d03c7085 100644 --- a/Assets/UniGLTF/Editor/UniGLTF/UniGLTFPreference.cs +++ b/Assets/UniGLTF/Editor/UniGLTF/UniGLTFPreference.cs @@ -105,27 +105,29 @@ namespace UniGLTF public static bool HasSymbol(string symbol) { - var target = EditorUserBuildSettings.selectedBuildTargetGroup; - var current = PlayerSettings.GetScriptingDefineSymbolsForGroup(target).Split(';'); + var buildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup( + EditorUserBuildSettings.selectedBuildTargetGroup + ); + PlayerSettings.GetScriptingDefineSymbols(buildTarget, out var current); return current.Contains(symbol); } public static void AddSymbol(string symbol) { - var target = EditorUserBuildSettings.selectedBuildTargetGroup; - var current = PlayerSettings.GetScriptingDefineSymbolsForGroup(target).Split(';'); - PlayerSettings.SetScriptingDefineSymbolsForGroup(target, - string.Join(";", current.Concat(new[] { symbol })) + var buildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup( + EditorUserBuildSettings.selectedBuildTargetGroup ); + PlayerSettings.GetScriptingDefineSymbols(buildTarget, out var current); + PlayerSettings.SetScriptingDefineSymbols(buildTarget, current.Append(symbol).ToArray()); } public static void RemoveSymbol(string symbol) { - var target = EditorUserBuildSettings.selectedBuildTargetGroup; - var current = PlayerSettings.GetScriptingDefineSymbolsForGroup(target).Split(';'); - PlayerSettings.SetScriptingDefineSymbolsForGroup(target, - string.Join(";", current.Where(x => x != symbol)) + var buildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup( + EditorUserBuildSettings.selectedBuildTargetGroup ); + PlayerSettings.GetScriptingDefineSymbols(buildTarget, out var current); + PlayerSettings.SetScriptingDefineSymbols(buildTarget, current.Where(x => x != symbol).ToArray()); } public static void ToggleSymbol(string title, string symbol)