using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEditor; using UnityEngine; public class AH_PreProcessor : MonoBehaviour { public const string DefineScriptAllow = "AH_SCRIPT_ALLOW"; //public const string DefineHasOldVersion = "AH_HAS_OLD_INSTALLED"; /// /// Add define symbols as soon as Unity gets done compiling. /// public static void AddDefineSymbols(string symbol, bool addDefine) { string definesString = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup); List allDefines = definesString.Split(';').ToList(); bool updateDefines = false; if (addDefine && !allDefines.Contains(symbol)) { allDefines.Add(symbol); updateDefines = true; } else if (!addDefine && allDefines.Contains(symbol)) { allDefines.Remove(symbol); updateDefines = true; } if (updateDefines) PlayerSettings.SetScriptingDefineSymbolsForGroup( EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", allDefines.ToArray())); } }