RoadRunner/Assets/Gley/Common/Editor/PreprocessorDirective.cs
2024-11-19 11:48:21 +01:00

43 lines
1.3 KiB
C#

using UnityEditor;
namespace Gley.Common
{
public class PreprocessorDirective
{
public static void AddToPlatform(string directive, bool remove, BuildTargetGroup target)
{
string textToWrite = PlayerSettings.GetScriptingDefineSymbols(UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(target));
if (remove)
{
if (textToWrite.Contains(directive))
{
textToWrite = textToWrite.Replace(directive, "");
}
}
else
{
if (!textToWrite.Contains(directive))
{
if (textToWrite == "")
{
textToWrite += directive;
}
else
{
textToWrite += "," + directive;
}
}
}
PlayerSettings.SetScriptingDefineSymbols(UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(target), textToWrite);
}
public static void AddToCurrent(string directive, bool remove)
{
AddToPlatform(directive, remove, EditorUserBuildSettings.selectedBuildTargetGroup);
}
}
}