Files
tbd-station-14/Content.Server/Interfaces/GameObjects/Components/Damage/IDamageableComponent.cs
ZelteHonor b2e2aef78d Rider static analysis (#433)
* Non-accessed local variable

* Merge cast and type checks.

* StringComparison.Ordinal added for better culture support

* Supposed code improvement in launcher. Remove unused code.

* Update ExplosionHelper.cs

Unintentional change.

* Optimized Import

* Add Robust.Shared.Utility import where it was deleted

* Other random suggestion

* Improve my comment
2019-11-13 23:37:46 +01:00

32 lines
1.2 KiB
C#

using System;
using Content.Server.GameObjects;
using Content.Shared.GameObjects;
using Robust.Shared.Interfaces.GameObjects;
namespace Content.Server.Interfaces.GameObjects
{
public interface IDamageableComponent : IComponent
{
event EventHandler<DamageThresholdPassedEventArgs> DamageThresholdPassed;
ResistanceSet Resistances { get; }
/// <summary>
/// The function that handles receiving damage.
/// Converts damage via the resistance set then applies it
/// and informs components of thresholds passed as necessary.
/// </summary>
/// <param name="damageType">Type of damage being received.</param>
/// <param name="amount">Amount of damage being received.</param>
void TakeDamage(DamageType damageType, int amount);
/// <summary>
/// Handles receiving healing.
/// Converts healing via the resistance set then applies it
/// and informs components of thresholds passed as necessary.
/// </summary>
/// <param name="damageType">Type of damage being received.</param>
/// <param name="amount">Amount of damage being received.</param>
void TakeHealing(DamageType damageType, int amount);
}
}