namespace AsteroidGame.Interfaces
{
    public interface IDamageable
    {
        public void ModifyHealth(int healthChange);

        #region PublicProperties

        public bool IsInvulnerable { get; }

        #endregion
        
        #region Setters
        public void SetHealth(int newHealth);

        public void SetMaxHealth(int newHealth);
        
        public void SetInvulnerable (bool newState);
        
        #endregion

        #region Getters
        public int GetHealth();

        public int GetMaxHealth();

        public float GetHealthFactor();

        #endregion
    }
}
