using System.Collections.Generic; using Content.Server.GameObjects; namespace Content.Server.Interfaces { /// /// Any component/entity that has behaviour linked to taking damage should implement this interface. /// TODO: Don't know how to work around this currently, but due to how events work /// you need to hook it up to the DamageableComponent via Initialize(). /// See DestructibleComponent.Initialize() for an example. /// interface IOnDamageBehavior { /// /// Gets a list of all DamageThresholds this component/entity are interested in. /// /// List of DamageThresholds to be added to DamageableComponent for watching. List GetAllDamageThresholds(); /// /// Damage threshold passed event hookup. /// /// Damageable component. /// Damage threshold and whether it's passed in one way or another. void OnDamageThresholdPassed(object obj, DamageThresholdPassedEventArgs e); } }