DefineHelper.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System.Linq;
  2. using UnityEditor;
  3. using UnityEngine;
  4. namespace ET
  5. {
  6. public static class DefineHelper
  7. {
  8. public static void EnableDefineSymbols(string symbols, bool enable)
  9. {
  10. Debug.Log($"EnableDefineSymbols {symbols} {enable}");
  11. string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
  12. var ss = defines.Split(';').ToList();
  13. if (enable)
  14. {
  15. if (ss.Contains(symbols))
  16. {
  17. return;
  18. }
  19. ss.Add(symbols);
  20. }
  21. else
  22. {
  23. if (!ss.Contains(symbols))
  24. {
  25. return;
  26. }
  27. ss.Remove(symbols);
  28. }
  29. Debug.Log($"EnableDefineSymbols {symbols} {enable}");
  30. defines = string.Join(";", ss);
  31. PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, defines);
  32. AssetDatabase.SaveAssets();
  33. AssetDatabase.Refresh();
  34. }
  35. }
  36. }