AR + GPS Location  3.0.0
All Classes Namespaces Functions Variables Properties Events Pages
DefineSymbolsManager.cs
1 using System.Collections.Generic;
2 using UnityEditor;
3 
4 
8 public class DefineSymbolsManager {
9  private Dictionary<BuildTargetGroup, DefineSymbols> defineSymbols = new Dictionary<BuildTargetGroup, DefineSymbols>();
10 
11  public DefineSymbolsManager(BuildTargetGroup[] groups)
12  {
13  foreach (var group in groups)
14  {
15  var symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(group);
16  defineSymbols.Add(group, new DefineSymbols(symbols));
17  }
18  }
19 
20  public void UpdateFromBuildSettings()
21  {
22  var groups = defineSymbols.Keys;
23  defineSymbols = new Dictionary<BuildTargetGroup, DefineSymbols>();
24 
25  foreach (var group in groups)
26  {
27  var symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(group);
28  defineSymbols.Add(group, new DefineSymbols(symbols));
29  }
30 
31  }
32 
33  public void ApplyToBuildSettings()
34  {
35  foreach (var e in defineSymbols)
36  {
37  PlayerSettings.SetScriptingDefineSymbolsForGroup(e.Key, e.Value.Get());
38  }
39  }
40 
41  public void Add(string symbol)
42  {
43  foreach (var item in defineSymbols)
44  {
45  item.Value.Add(symbol);
46  }
47  }
48 
49  public void Remove(string symbol)
50  {
51  foreach (var item in defineSymbols)
52  {
53  item.Value.Remove(symbol);
54  }
55  }
56 
57  public bool Has(string symbol)
58  {
59  var has = true;
60 
61  foreach (var item in defineSymbols)
62  {
63  has = has && item.Value.Has(symbol);
64  }
65 
66  return has;
67  }
68 
69  public override string ToString()
70  {
71  var str = "DefineSymbolsManager {\n";
72 
73  foreach (var item in defineSymbols)
74  {
75  str += item.Key + ": " + item.Value.Get() + "\n";
76  }
77 
78  str += "}";
79 
80  return str;
81  }
82 }
DefineSymbolsManager
Utility class that manages Define Symbols for a given set of build targets.
Definition: DefineSymbolsManager.cs:8
DefineSymbols
Utility class to manage a list of symbol strings.
Definition: DefineSymbols.cs:7