32 lines
1.0 KiB
C#
32 lines
1.0 KiB
C#
using Barotrauma.Networking;
|
|
using Microsoft.Xna.Framework;
|
|
|
|
namespace Barotrauma
|
|
{
|
|
interface IDamageable
|
|
{
|
|
Vector2 SimPosition { get; }
|
|
Vector2 WorldPosition { get; }
|
|
float Health { get; }
|
|
|
|
AttackResult AddDamage(Character attacker, Vector2 worldPosition, Attack attack, Vector2 impulseDirection, float deltaTime, bool playSound = true);
|
|
|
|
|
|
public readonly struct AttackEventData
|
|
{
|
|
public readonly ISpatialEntity Attacker;
|
|
public readonly IDamageable TargetEntity;
|
|
public readonly Limb TargetLimb;
|
|
public readonly Vector2 AttackSimPosition;
|
|
|
|
public AttackEventData(ISpatialEntity attacker, IDamageable targetEntity, Limb targetLimb, Vector2 attackSimPosition)
|
|
{
|
|
Attacker = attacker;
|
|
TargetEntity = targetEntity;
|
|
TargetLimb = targetLimb;
|
|
AttackSimPosition = attackSimPosition;
|
|
}
|
|
}
|
|
}
|
|
}
|