using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics.Eventing.Reader; 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 Tags { get; } public IReadOnlyCollection 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 IMeleeData.Tags => Tags; IReadOnlyCollection IMeleeData.IgnoreTags => IgnoreTags; public readonly List Tags=new(); public readonly List IgnoreTags = new(); public int Initiator { get; set; } public int MaxTargetCount { get; set; } } public interface IMeleeService { public void Add(IMeleeData meleeData); public event Action OnMeleeHit; } }