#if UNITY_EDITOR
using System;
using System.Collections.Generic;
using UnityEditor;
namespace DTT.Utils.EditorUtilities
{
///
/// Provides player settings related utility methods.
///
public static class PlayerSettingsUtility
{
///
/// Adds a define symbol to the selected build target group its defined symbols.
///
/// The symbol to add.
public static void AddScriptingDefineSymbol(string symbol)
{
if (symbol == null)
throw new ArgumentNullException("The symbol to add was null.");
BuildTargetGroup buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);
List definesList = new List(defines.Split(';'));
if (!definesList.Contains(symbol))
definesList.Add(symbol);
PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, string.Join(";", definesList));
}
///
/// Removes the define symbol from the selected build target group its defined symbols.
///
/// The symbol to remove.
public static void RemoveScriptingDefineSymbol(string symbol)
{
if (symbol == null)
throw new ArgumentNullException("The symbol to remove was null.");
BuildTargetGroup buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);
List definesList = new List(defines.Split(';'));
if (definesList.Contains(symbol))
definesList.Remove(symbol);
PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, string.Join(";", definesList));
}
}
}
#endif