using System;
using System.Collections;
using System.Collections.Generic;
using Net.Project.B.Damage;
using Unity.Mathematics;

namespace Net.Project.B.Melee
{
    public interface IMeleeData:IDamageType
    {
        public float3 StartPosition { get; }
        public float Radius { get; }
        public int Damage { get; }
        public IReadOnlyCollection<string> Tags { get; }
        public IReadOnlyCollection<string> IgnoreTags { get; }
        public int Initiator { get; }
        int MaxTargetCount { get; }
    }
    public class MeleeData:IMeleeData
    {
        public float3 StartPosition { get; set; }
        public float Radius { get; set; }
        public int Damage { get; set; }
        IReadOnlyCollection<string> IMeleeData.Tags => Tags;
        IReadOnlyCollection<string> IMeleeData.IgnoreTags => IgnoreTags;

        public readonly List<string> Tags=new();
        public readonly List<string> IgnoreTags = new();
        public int Initiator { get; set; }
        public int MaxTargetCount { get; set; }
    }

    public interface IMeleeService
    {
        public void Add(IMeleeData meleeData);
    }

}

