scripts
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine.StyleSheets;
|
||||
|
||||
namespace UnityEngine.Experimental.UIElements.StyleSheets
|
||||
{
|
||||
// Token: 0x02000366 RID: 870
|
||||
internal static class StyleComplexSelectorExtensions
|
||||
{
|
||||
// Token: 0x06003527 RID: 13607 RVA: 0x00057634 File Offset: 0x00055834
|
||||
public static void CachePseudoStateMasks(this StyleComplexSelector complexSelector)
|
||||
{
|
||||
if (complexSelector.selectors[0].pseudoStateMask == -1)
|
||||
{
|
||||
if (StyleComplexSelectorExtensions.s_PseudoStates == null)
|
||||
{
|
||||
StyleComplexSelectorExtensions.s_PseudoStates = new Dictionary<string, StyleComplexSelectorExtensions.PseudoStateData>();
|
||||
StyleComplexSelectorExtensions.s_PseudoStates["active"] = new StyleComplexSelectorExtensions.PseudoStateData(PseudoStates.Active, false);
|
||||
StyleComplexSelectorExtensions.s_PseudoStates["hover"] = new StyleComplexSelectorExtensions.PseudoStateData(PseudoStates.Hover, false);
|
||||
StyleComplexSelectorExtensions.s_PseudoStates["checked"] = new StyleComplexSelectorExtensions.PseudoStateData(PseudoStates.Checked, false);
|
||||
StyleComplexSelectorExtensions.s_PseudoStates["selected"] = new StyleComplexSelectorExtensions.PseudoStateData(PseudoStates.Selected, false);
|
||||
StyleComplexSelectorExtensions.s_PseudoStates["disabled"] = new StyleComplexSelectorExtensions.PseudoStateData(PseudoStates.Disabled, false);
|
||||
StyleComplexSelectorExtensions.s_PseudoStates["focus"] = new StyleComplexSelectorExtensions.PseudoStateData(PseudoStates.Focus, false);
|
||||
StyleComplexSelectorExtensions.s_PseudoStates["inactive"] = new StyleComplexSelectorExtensions.PseudoStateData(PseudoStates.Active, true);
|
||||
StyleComplexSelectorExtensions.s_PseudoStates["enabled"] = new StyleComplexSelectorExtensions.PseudoStateData(PseudoStates.Disabled, true);
|
||||
}
|
||||
int i = 0;
|
||||
int num = complexSelector.selectors.Length;
|
||||
while (i < num)
|
||||
{
|
||||
StyleSelector styleSelector = complexSelector.selectors[i];
|
||||
StyleSelectorPart[] parts = styleSelector.parts;
|
||||
PseudoStates pseudoStates = (PseudoStates)0;
|
||||
PseudoStates pseudoStates2 = (PseudoStates)0;
|
||||
for (int j = 0; j < styleSelector.parts.Length; j++)
|
||||
{
|
||||
if (styleSelector.parts[j].type == StyleSelectorType.PseudoClass)
|
||||
{
|
||||
StyleComplexSelectorExtensions.PseudoStateData pseudoStateData;
|
||||
if (StyleComplexSelectorExtensions.s_PseudoStates.TryGetValue(parts[j].value, out pseudoStateData))
|
||||
{
|
||||
if (!pseudoStateData.negate)
|
||||
{
|
||||
pseudoStates |= pseudoStateData.state;
|
||||
}
|
||||
else
|
||||
{
|
||||
pseudoStates2 |= pseudoStateData.state;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarningFormat("Unknown pseudo class \"{0}\"", new object[] { parts[j].value });
|
||||
}
|
||||
}
|
||||
}
|
||||
styleSelector.pseudoStateMask = (int)pseudoStates;
|
||||
styleSelector.negatedPseudoStateMask = (int)pseudoStates2;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04000B7B RID: 2939
|
||||
private static Dictionary<string, StyleComplexSelectorExtensions.PseudoStateData> s_PseudoStates;
|
||||
|
||||
// Token: 0x02000367 RID: 871
|
||||
private struct PseudoStateData
|
||||
{
|
||||
// Token: 0x06003528 RID: 13608 RVA: 0x00057810 File Offset: 0x00055A10
|
||||
public PseudoStateData(PseudoStates state, bool negate)
|
||||
{
|
||||
this.state = state;
|
||||
this.negate = negate;
|
||||
}
|
||||
|
||||
// Token: 0x04000B7C RID: 2940
|
||||
public readonly PseudoStates state;
|
||||
|
||||
// Token: 0x04000B7D RID: 2941
|
||||
public readonly bool negate;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user