private List <Poe_UIElement> GetParentChain() { List <Poe_UIElement> list = new List <Poe_UIElement>(); HashSet <Poe_UIElement> hashSet = new HashSet <Poe_UIElement>(); Poe_UIElement root = this.Root; Poe_UIElement parent = this.Parent; while (!hashSet.Contains(parent) && root.address != parent.address && parent.address != 0) { list.Add(parent); hashSet.Add(parent); parent = parent.Parent; } return(list); }
public Poe_UIElement GetChildFromIndices(params int[] indices) { Poe_UIElement poe_UIElement = this; for (int i = 0; i < indices.Length; i++) { int index = indices[i]; poe_UIElement = poe_UIElement.GetChildAtIndex(index); if (poe_UIElement == null) { return(poe_UIElement); } } return(poe_UIElement); }