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(); 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 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; } } }