Unity2023.1以降でGetScriptingDefineSymbolsForGroup系APIがObsolete警告が出るのに対応

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にも存在しているので、そのまま置き換えることができました。
This commit is contained in:
Isamu Mogi
2024-05-03 00:01:38 +09:00
parent 469c973a04
commit c1d7a4b099

View File

@@ -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)