using Content.Shared.FixedPoint; namespace Content.Shared.MobState.State { /// /// Defines the blocking effects of an associated /// (i.e. Normal, Critical, Dead) and what effects to apply upon entering or /// exiting the state. /// public interface IMobState { bool IsAlive(); bool IsCritical(); bool IsDead(); /// /// Checks if the mob is in a critical or dead state. /// See and . /// /// true if it is, false otherwise. bool IsIncapacitated(); /// /// Called when this state is entered. /// void EnterState(EntityUid uid, IEntityManager entityManager); /// /// Called when this state is left for a different state. /// void ExitState(EntityUid uid, IEntityManager entityManager); /// /// Called when this state is updated. /// void UpdateState(EntityUid entity, FixedPoint2 threshold, IEntityManager entityManager); } }