Player/Inventory/Container/InventoryItemPickup.cs
using Opium;
public sealed class InventoryItemPickup : BasePickup
{
[Property] public SoundEvent sound;
[Property] public InventoryItemResource Resource { get; set; }
public override void OnPickup( GameObject player )
{
if ( sound != null )
{
Sound.Play( sound, player.Transform.Position );
}
player.Components.Get<PlayerInventory>( FindMode.EnabledInSelfAndDescendants )?
.GetInventory( Resource.ItemType )
.AddItem( Resource );
base.OnPickup( player );
player.Components.Get<PlayerObjectivesUI>( FindMode.EnabledInSelfAndDescendants )?.ShowObjectiveUI();
}
}