Weapons/Item.cs
/// <summary>
/// Base class for anything that can be carried by a player and stored in a coffin. It can't be equipped directly.
/// </summary>
public abstract partial class Item : Component
{
	[Property, Feature( "Item" )]
	public string DisplayName { get; set; } = "My Item";

	/// <summary>
	/// The player that owns this item
	/// </summary>
	public Player Owner => GetComponentInParent<Player>( true );

	/// <summary>
	/// Called when the item is first given to a player
	/// </summary>
	public virtual void OnAdded( Player player ) { }

	/// <summary>
	/// Called when the item is removed from a player
	/// </summary>
	public virtual void OnRemoved( Player player ) { }

	/// <summary>
	/// Called when the owner dies
	/// </summary>
	public virtual void OnPlayerDeath( IPlayerEvent.DiedParams args )
	{
	}
}