|
|
@@ -0,0 +1,40 @@
|
|
|
+using System.Linq;
|
|
|
+using UnityEditor;
|
|
|
+using UnityEngine;
|
|
|
+
|
|
|
+namespace ET
|
|
|
+{
|
|
|
+ public static class DefineHelper
|
|
|
+ {
|
|
|
+ public static void EnableDefineSymbols(string symbols, bool enable)
|
|
|
+ {
|
|
|
+ Debug.Log($"EnableDefineSymbols {symbols} {enable}");
|
|
|
+ string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
|
|
|
+ var ss = defines.Split(';').ToList();
|
|
|
+ if (enable)
|
|
|
+ {
|
|
|
+ if (ss.Contains(symbols))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ ss.Add(symbols);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!ss.Contains(symbols))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ ss.Remove(symbols);
|
|
|
+ }
|
|
|
+
|
|
|
+ Debug.Log($"EnableDefineSymbols {symbols} {enable}");
|
|
|
+ defines = string.Join(";", ss);
|
|
|
+ PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, defines);
|
|
|
+ AssetDatabase.SaveAssets();
|
|
|
+ AssetDatabase.Refresh();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|