public AreaUI Find(Type type) { if (typeMapper.TryGetValue(type, out AreaUI value)) { if (value.Root == this) { return(value); } typeMapper.Remove(type); } AreaUI result = Search(this); if (result == null) { return(null); } typeMapper[type] = result; return(result); AreaUI Search(AreaUI current) { if (type.IsInstanceOfType(current)) { return(current); } foreach (AreaUI child in current !.LoopForward(false)) { AreaUI search = Search(child); if (search == null) { continue; } return(search); } return(null); } }
public Transform(AreaUI area) => this.area = area;