123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using UnityEditor;
- namespace TriLibCore.Editor
- {
- public static class TriLibDefineSymbolsHelper
- {
- public static bool IsSymbolDefined(string targetDefineSymbol)
- {
- var defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
- var defineSymbolsArray = defineSymbols.Split(';');
- for (var i = 0; i < defineSymbolsArray.Length; i++)
- {
- var defineSymbol = defineSymbolsArray[i];
- var trimmedDefineSymbol = defineSymbol.Trim();
- if (trimmedDefineSymbol == targetDefineSymbol)
- {
- return true;
- }
- }
- return false;
- }
- public static void UpdateSymbol(string targetDefineSymbol, bool value)
- {
- var defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
- var defineSymbolsArray = defineSymbols.Split(';');
- var newDefineSymbols = string.Empty;
- var isDefined = false;
- for (var i = 0; i < defineSymbolsArray.Length; i++)
- {
- var defineSymbol = defineSymbolsArray[i];
- var trimmedDefineSymbol = defineSymbol.Trim();
- if (trimmedDefineSymbol == targetDefineSymbol)
- {
- if (!value)
- {
- continue;
- }
- isDefined = true;
- }
- newDefineSymbols += string.Format("{0};", trimmedDefineSymbol);
- }
- if (value && !isDefined)
- {
- newDefineSymbols += string.Format("{0};", targetDefineSymbol);
- }
- PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, newDefineSymbols);
- }
- }
- }
|