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);
}
}
}