Heroes_of_Hiis/Assets/Rotary Heart/Shared/Editor/Definer.cs

49 lines
1.5 KiB
C#

using System.Collections.Generic;
using UnityEditor;
namespace RotaryHeart.Lib
{
public static class Definer
{
public static void ApplyDefines(List<string> defines)
{
if (defines == null || defines.Count == 0)
return;
string availableDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
List<string> definesSplit = new List<string>(availableDefines.Split(';'));
foreach (string define in defines)
if (!definesSplit.Contains(define))
definesSplit.Add(define);
_ApplyDefine(string.Join(";", definesSplit.ToArray()));
}
public static void RemoveDefines(List<string> defines)
{
if (defines == null || defines.Count == 0)
return;
string availableDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
List<string> definesSplit = new List<string>(availableDefines.Split(';'));
foreach (string define in defines)
definesSplit.Remove(define);
_ApplyDefine(string.Join(";", definesSplit.ToArray()));
}
static void _ApplyDefine(string define)
{
if (string.IsNullOrEmpty(define))
return;
PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, define);
}
}
}