internal static bool CanUseItem(int parItemId, PrivateEnums.ItemCacheLookupType parType) { if (!ObjectManager.Instance.IsIngame) { return(false); } if (CanUseItemFunction == null) { CanUseItemFunction = Memory.Reader.RegisterDelegate <CanUseItemDelegate>(funcs.CanUseItem); } var ret = MainThread.Instance.Invoke(() => { var ptr1 = ObjectManager.Instance.Player.Pointer; if (ptr1 == IntPtr.Zero) { return(0); } var ptr2 = ObjectManager.Instance.LookupItemCachePtr(parItemId, parType); if (ptr2 == IntPtr.Zero) { return(0); } var randomInt = 1; var result = CanUseItemFunction(ptr1, ptr2, ref randomInt); return(result); }); return(ret == 1); }
public bool CanUseItem(IntPtr pointer, out GameError error) { if (_canUseItem == null) { _canUseItem = Manager.Memory.RegisterDelegate <CanUseItemDelegate>((IntPtr)Pointers.Item.CanUseItem); } return(_canUseItem(this.Pointer, pointer, out error)); }
public bool CanUseItem(IntPtr pointer, out GameError error) { if (_canUseItem == null) _canUseItem = Manager.Memory.RegisterDelegate<CanUseItemDelegate>((IntPtr)Pointers.Item.CanUseItem); return _canUseItem(this.Pointer, pointer, out error); }