31 lines
1.4 KiB
C#
31 lines
1.4 KiB
C#
|
namespace Dreamteck.Editor
|
||
|
{
|
||
|
using UnityEngine;
|
||
|
using UnityEditor;
|
||
|
|
||
|
public static class ScriptingDefineUtility
|
||
|
{
|
||
|
public static void Add(string define, BuildTargetGroup target, bool log = false)
|
||
|
{
|
||
|
string definesString = PlayerSettings.GetScriptingDefineSymbolsForGroup(target);
|
||
|
if (definesString.Contains(define)) return;
|
||
|
string[] allDefines = definesString.Split(';');
|
||
|
ArrayUtility.Add(ref allDefines, define);
|
||
|
definesString = string.Join(";", allDefines);
|
||
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, definesString);
|
||
|
Debug.Log("Added \"" + define + "\" from " + EditorUserBuildSettings.selectedBuildTargetGroup + " Scripting define in Player Settings");
|
||
|
}
|
||
|
|
||
|
public static void Remove(string define, BuildTargetGroup target, bool log = false)
|
||
|
{
|
||
|
string definesString = PlayerSettings.GetScriptingDefineSymbolsForGroup(target);
|
||
|
if (!definesString.Contains(define)) return;
|
||
|
string[] allDefines = definesString.Split(';');
|
||
|
ArrayUtility.Remove(ref allDefines, define);
|
||
|
definesString = string.Join(";", allDefines);
|
||
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, definesString);
|
||
|
Debug.Log("Removed \""+ define + "\" from " + EditorUserBuildSettings.selectedBuildTargetGroup + " Scripting define in Player Settings");
|
||
|
}
|
||
|
}
|
||
|
}
|