public ItemPickupEvent(ModuleItemPickup module, bool canPickup, Visible item, ModuleItemHolder.Stack fromStack, ModuleItemHolder.Stack toStack, ModuleItemHolder.PassType passType) { if (module == null) { throw new ArgumentNullException(nameof(item)); } Module = module; CanPickup = canPickup; Item = item; Source = fromStack; Target = toStack; PassType = passType; }
internal static bool CanReleaseItem(ModuleItemPickup module, bool defaultResult, Visible item, ModuleItemHolder.Stack fromStack, ModuleItemHolder.Stack toStack, ModuleItemHolder.PassType passType) { var canPickupEvent = new ItemPickupEvent(module, defaultResult, item, fromStack, toStack, passType); CanRelease?.Invoke(canPickupEvent); return(canPickupEvent.CanPickup); }