Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using UnityEditor;
- using System.Collections.Generic;
- public class CompilerDefineMenuExample {
- const string defineString = "COMPILER_DEFINE_EXAMPLE";
- [MenuItem("Compiler Define Example/Enable")]
- static void Enable()
- {
- SetEnabled(true);
- }
- [MenuItem("Compiler Define Example/Enable", true)]
- static bool EnableValidate()
- {
- var defines = GetDefinesList();
- return !defines.Contains(defineString);
- }
- [MenuItem("Compiler Define Example/Disable")]
- static void Disable()
- {
- SetEnabled(false);
- }
- [MenuItem("Compiler Define Example/Disable", true)]
- static bool DisableValidate()
- {
- var defines = GetDefinesList();
- return defines.Contains(defineString);
- }
- static void SetEnabled(bool enable)
- {
- var defines = GetDefinesList();
- if (enable)
- {
- defines.Add(defineString);
- PlayerSettings.SetScriptingDefineSymbolsForGroup( BuildTargetGroup.Standalone, string.Join(";",defines.ToArray()) );
- } else {
- defines.Remove(defineString);
- PlayerSettings.SetScriptingDefineSymbolsForGroup( BuildTargetGroup.Standalone, string.Join(";",defines.ToArray()) );
- }
- }
- static List<string> GetDefinesList()
- {
- return new List<string>( PlayerSettings.GetScriptingDefineSymbolsForGroup( BuildTargetGroup.Standalone ).Split(';'));
- }
- }
Add Comment
Please, Sign In to add comment