Tanoda
TriLibDefineSymbolsHelper.cs
Go to the documentation of this file.
1using UnityEditor;
2
3namespace TriLibCore.Editor
4{
5 public static class TriLibDefineSymbolsHelper
6 {
7 public static bool IsSymbolDefined(string targetDefineSymbol)
8 {
9 var defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
10 var defineSymbolsArray = defineSymbols.Split(';');
11 foreach (var defineSymbol in defineSymbolsArray)
12 {
13 var trimmedDefineSymbol = defineSymbol.Trim();
14 if (trimmedDefineSymbol == targetDefineSymbol)
15 {
16 return true;
17 }
18 }
19 return false;
20 }
21
22 public static void UpdateSymbol(string targetDefineSymbol, bool value)
23 {
24 var defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
25 var defineSymbolsArray = defineSymbols.Split(';');
26 var newDefineSymbols = string.Empty;
27 var isDefined = false;
28 foreach (var defineSymbol in defineSymbolsArray)
29 {
30 var trimmedDefineSymbol = defineSymbol.Trim();
31 if (trimmedDefineSymbol == targetDefineSymbol)
32 {
33 if (!value)
34 {
35 continue;
36 }
37 isDefined = true;
38 }
39 newDefineSymbols += string.Format("{0};", trimmedDefineSymbol);
40 }
41 if (value && !isDefined)
42 {
43 newDefineSymbols += string.Format("{0};", targetDefineSymbol);
44 }
45 PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, newDefineSymbols);
46 }
47 }
48}