using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEditor; using UnityEngine; namespace VRWorldToolkit { public class ScriptingDefineManager : MonoBehaviour { /// /// Add a new scripting define symbol in project settings /// /// Scripting define symbol to add public static void AddScriptingDefine(string define) { var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup).Split(';').ToList(); if (defines.Contains(define)) return; defines.Add(define); PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", defines)); } /// /// Remove a scripting define symbol from project settings /// /// Scripting define symbol to remove public static void RemoveScriptingDefine(string define) { var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup).Split(';').ToList(); if (!defines.Contains(define)) return; defines.Remove(define); PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", defines)); } /// /// If scripting define symbol exists /// /// Scripting define symbol to check for /// public static bool ScriptingDefineExists(string define) { var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup).Split(';'); return defines.Contains(define); } } }