using System.Collections.Generic;
using System.Linq;
using Sirenix.OdinInspector;
using VOID.Generic.Objects.Item;

namespace VOID.Generic.Objects.Wearable
{
    public abstract class WearableObject : ItemObject
    {
        [Title("=== WearableObject properties ===")]
        public WearableObjectData wearableData;
        public WearableObjectEvents wearableEvents;
        public WearableObjectState wearableState;

        protected override List<ObjectComponent> GetObjectComponents()
        {
            return base.GetObjectComponents()
                .Union(new List<ObjectComponent>
                {
                    wearableData,
                    wearableEvents,
                    wearableState
                })
                .ToList();
        }
    }
}
