public VisualElementAsset(string fullTypeName) { m_FullTypeName = fullTypeName; m_Name = String.Empty; m_Text = String.Empty; m_PickingMode = PickingMode.Position; }
void SetPickingMode(VisualElement element, PickingMode mode) { element.pickingMode = mode; foreach (var child in element.Children()) { SetPickingMode(child, mode); } }
private VisualElement PickAll(VisualElement root, Vector2 point, List <VisualElement> picked = null) { VisualElement result; if ((root.pseudoStates & PseudoStates.Invisible) == PseudoStates.Invisible) { result = null; } else { Vector3 v = root.WorldToLocal(point); bool flag = root.ContainsPoint(v); if (!flag && root.clippingOptions != VisualElement.ClippingOptions.NoClipping) { result = null; } else { if (picked != null && root.enabledInHierarchy && root.pickingMode == PickingMode.Position) { picked.Add(root); } VisualElement visualElement = null; for (int i = root.shadow.childCount - 1; i >= 0; i--) { VisualElement root2 = root.shadow[i]; VisualElement visualElement2 = this.PickAll(root2, point, picked); if (visualElement == null && visualElement2 != null) { visualElement = visualElement2; } } if (visualElement != null) { result = visualElement; } else { PickingMode pickingMode = root.pickingMode; if (pickingMode != PickingMode.Position) { if (pickingMode != PickingMode.Ignore) { } } else if (flag && root.enabledInHierarchy) { result = root; return(result); } result = null; } } } return(result); }
private VisualElement PickAll(VisualElement root, Vector2 point, List <VisualElement> picked = null) { VisualElement result; if ((root.pseudoStates & PseudoStates.Invisible) == PseudoStates.Invisible) { result = null; } else { Vector3 vector = root.transform.matrix.inverse.MultiplyPoint3x4(point); bool flag = root.ContainsPoint(vector); if (!flag && root.clippingOptions != VisualElement.ClippingOptions.NoClipping) { result = null; } else { if (picked != null && root.enabledInHierarchy && root.pickingMode == PickingMode.Position) { picked.Add(root); } vector -= new Vector3(root.layout.position.x, root.layout.position.y, 0f); VisualElement visualElement = null; for (int i = root.shadow.childCount - 1; i >= 0; i--) { VisualElement root2 = root.shadow[i]; VisualElement visualElement2 = this.PickAll(root2, vector, picked); if (visualElement == null && visualElement2 != null) { visualElement = visualElement2; } } if (visualElement != null) { result = visualElement; } else { PickingMode pickingMode = root.pickingMode; if (pickingMode != PickingMode.Position) { if (pickingMode != PickingMode.Ignore) { } } else if (flag && root.enabledInHierarchy) { return(root); } result = null; } } } return(result); }
private VisualElement Pick(VisualElement root, Vector2 point) { VisualElement result; if ((root.pseudoStates & PseudoStates.Invisible) == PseudoStates.Invisible) { result = null; } else { VisualContainer visualContainer = root as VisualContainer; Vector3 vector = root.transform.inverse.MultiplyPoint3x4(point); bool flag = root.ContainsPoint(vector); if (visualContainer != null) { if (!flag && visualContainer.clipChildren) { result = null; return(result); } vector -= new Vector3(visualContainer.position.position.x, visualContainer.position.position.y, 0f); for (int i = visualContainer.childrenCount - 1; i >= 0; i--) { VisualElement childAt = visualContainer.GetChildAt(i); VisualElement visualElement = this.Pick(childAt, vector); if (visualElement != null) { result = visualElement; return(result); } } } PickingMode pickingMode = root.pickingMode; if (pickingMode != PickingMode.Position) { if (pickingMode != PickingMode.Ignore) { } } else if (flag) { result = root; return(result); } result = null; } return(result); }
public PickingInformation(PickingMode mode) { Mode = mode; }