42 lines
1.2 KiB
C#
42 lines
1.2 KiB
C#
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<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);
|
|
public event Action<IMeleeData,object> OnMeleeHit;
|
|
}
|
|
|
|
}
|
|
|