Skip to content

Commit 1a1cd85

Browse files
lawwonglawwong
authored andcommitted
Add multiple symbols for each SymbolReq
1 parent ae26ed8 commit 1a1cd85

1 file changed

Lines changed: 32 additions & 5 deletions

File tree

Assets/HTC.UnityPlugin/VRModule/Editor/VRModuleManagerEditor.cs

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class ReqMethodInfo
4848
}
4949

5050
public string symbol = string.Empty;
51+
public string[] symbols = null;
5152
public string[] reqTypeNames = null;
5253
public string[] reqAnyTypeNames = null;
5354
public string[] reqFileNames = null;
@@ -442,26 +443,52 @@ private static void DoUpdateScriptingDefineSymbols()
442443

443444
var defineSymbols = GetDefineSymbols();
444445
var defineSymbolsChanged = false;
446+
var validSymbols = new HashSet<string>();
447+
var invalidSymbols = new HashSet<string>();
445448

446449
foreach (var symbolReq in s_symbolReqList)
447450
{
448451
if (symbolReq.Validate())
449452
{
450-
if (!defineSymbols.Contains(symbolReq.symbol))
453+
if (!string.IsNullOrEmpty(symbolReq.symbol)) { validSymbols.Add(symbolReq.symbol); }
454+
if (symbolReq.symbols != null)
451455
{
452-
defineSymbols.Add(symbolReq.symbol);
453-
defineSymbolsChanged = true;
456+
foreach (var symbol in symbolReq.symbols)
457+
{
458+
if (!string.IsNullOrEmpty(symbol)) { validSymbols.Add(symbol); }
459+
}
454460
}
455461
}
456462
else
457463
{
458-
if (defineSymbols.RemoveAll((symbol) => symbol == symbolReq.symbol) > 0)
464+
if (!string.IsNullOrEmpty(symbolReq.symbol)) { invalidSymbols.Add(symbolReq.symbol); }
465+
if (symbolReq.symbols != null)
459466
{
460-
defineSymbolsChanged = true;
467+
foreach (var symbol in symbolReq.symbols)
468+
{
469+
if (!string.IsNullOrEmpty(symbol)) { invalidSymbols.Add(symbol); }
470+
}
461471
}
462472
}
463473
}
464474

475+
foreach (var symbol in invalidSymbols)
476+
{
477+
if (defineSymbols.RemoveAll((s) => s == symbol) > 0)
478+
{
479+
defineSymbolsChanged = true;
480+
}
481+
}
482+
483+
foreach (var symbol in validSymbols)
484+
{
485+
if (!defineSymbols.Contains(symbol))
486+
{
487+
defineSymbols.Add(symbol);
488+
defineSymbolsChanged = true;
489+
}
490+
}
491+
465492
if (defineSymbolsChanged)
466493
{
467494
SetDefineSymbols(defineSymbols);

0 commit comments

Comments
 (0)