private static UXControl GetControlFromPointer(Ptr ptr) { if (ptr == null) { return(null); } var vtable = ptr.Cast <int>().Dereference(); var type = GetControlTypeFromVTable(vtable); return((UXControl)MemoryObjectFactory.UnsafeCreate(type, ptr.Memory.Reader, ptr.ValueAddress)); }
public static bool TryGet <T>(this UIMap map, string name, out T value) where T : UXControl { Ptr ptr = null; try { ptr = map[name]; value = ptr.Cast <T>().Dereference(); return(true); } catch (KeyNotFoundException) { value = null; return(false); } }