40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
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);
|
|
}
|
|
|
|
}
|
|
|