using Sirenix.OdinInspector;
using UnityEngine.Events;
using VOID.Generic.Objects.Container.Events;
using VOID.Generic.Objects.Item.Events;

namespace VOID.Generic.Objects.Item
{
    [System.Serializable]
    public class ItemObjectEvents : ObjectComponent<ItemObject>
    {
        [Title("Picked & Dropped")]
        public UnityEvent<PickEvent> onPickedBefore;
        public UnityEvent<PickEvent> onPickedAfter;
        public UnityEvent<DropEvent> onDroppedBefore;
        public UnityEvent<DropEvent> onDroppedAfter;

        [Title("Moved")]
        public UnityEvent<MoveItemEvent> onMovedBefore;
        public UnityEvent<MoveItemEvent> onMovedAfter;

        [Title("Moved")]
        public UnityEvent<ContainerMoveInEvent> onMovedIntoContainer;
        public UnityEvent<ContainerMoveOutEvent> onMovedOutOfContainer;
    }
}