/// <summary> /// Picks this item and adds it to the target inventory specified as a parameter /// </summary> /// <param name="targetInventoryName">Target inventory name.</param> public virtual void Pick(string targetInventoryName) { FindTargetInventory(targetInventoryName); if (_targetInventory == null) { return; } if (!Pickable()) { PickFail(); return; } DetermineMaxQuantity(); if (!Application.isPlaying) { _targetInventory.AddItem(Item, 1); } else { MMEventManager.TriggerEvent(new MMInventoryEvent(MMInventoryEventType.Pick, null, Item.TargetInventoryName, Item, _pickedQuantity, 0)); } Item.Pick(); Quantity = Quantity - _pickedQuantity; PickSuccess(); DisableObjectIfNeeded(); }
/// <summary> /// Picks this item and adds it to its target inventory /// </summary> public virtual void Pick() { MMEventManager.TriggerEvent(new MMInventoryEvent(MMInventoryEventType.Pick, null, Item.TargetInventoryName, Item, Quantity, 0)); Item.Pick(); }