Files
vampire-like/Assets/GameMain/Scripts/Base/Definition/DataStruct/ImpactData.cs
T
2026-09-18 21:43:22 +08:00

45 lines
1.2 KiB
C#

using System.Runtime.InteropServices;
namespace SepCore.Definition
{
[StructLayout(LayoutKind.Auto)]
public struct ImpactData
{
public CampType Camp { get; }
public int AttackBase { get; }
public DamageType DamageType { get; }
public float ScalingRatio { get; }
public float BaseCritChance { get; }
public float CritMultiplier { get; }
public IAttributeProvider AttributeProvider { get; }
public ImpactData(
CampType camp,
int attackBase,
IAttributeProvider attributeProvider = null,
DamageType damageType = DamageType.None,
float scalingRatio = 1.0f,
float baseCritChance = 0f,
float critMultiplier = 0f)
{
Camp = camp;
AttackBase = attackBase;
AttributeProvider = attributeProvider;
DamageType = damageType;
ScalingRatio = scalingRatio;
BaseCritChance = baseCritChance;
CritMultiplier = critMultiplier;
}
public ImpactData(CampType camp, int attackBase)
: this(camp, attackBase, null, DamageType.None, 1.0f, 0f, 0f)
{
}
}
}