Health.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Artemis;
  6. namespace StarWarrior.Components
  7. {
  8. class Health : Component
  9. {
  10. private float health = 0;
  11. private float maximumHealth = 0;
  12. public Health() { }
  13. public Health(float health)
  14. {
  15. this.health = this.maximumHealth = health;
  16. }
  17. public float GetHealth()
  18. {
  19. return health;
  20. }
  21. public void SetHealth(float health)
  22. {
  23. this.health = this.maximumHealth = health;
  24. }
  25. public float GetMaximumHealth()
  26. {
  27. return maximumHealth;
  28. }
  29. public double GetHealthPercentage()
  30. {
  31. return Math.Round(health / maximumHealth * 100f);
  32. }
  33. public void AddDamage(int damage)
  34. {
  35. health -= damage;
  36. if (health < 0)
  37. health = 0;
  38. }
  39. public bool IsAlive()
  40. {
  41. return health > 0;
  42. }
  43. }
  44. }