thirstnotfr.c 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. class ThirstNotfr: NotifierBase
  2. {
  3. private const float HYDRATED_TRESHOLD = 3500;
  4. private const float THIRSTY_TRESHOLD = 2500;
  5. private const float VERY_THIRSTY_TRESHOLD = 1500;
  6. private const float FATALLY_THIRSTY_TRESHOLD = 0;
  7. private const float DEC_TRESHOLD_LOW = 0;
  8. private const float DEC_TRESHOLD_MED = -0.2;
  9. private const float DEC_TRESHOLD_HIGH = -0.85;
  10. private const float INC_TRESHOLD_LOW = 0;
  11. private const float INC_TRESHOLD_MED = 0.2;
  12. private const float INC_TRESHOLD_HIGH = 0.85;
  13. void ThirstNotfr(NotifiersManager manager)
  14. {
  15. }
  16. override int GetNotifierType()
  17. {
  18. return eNotifiers.NTF_THIRSTY;
  19. }
  20. override void DisplayTendency(float delta)
  21. {
  22. //PrintString(delta.ToString());
  23. int tendency = CalculateTendency(delta, INC_TRESHOLD_LOW, INC_TRESHOLD_MED, INC_TRESHOLD_HIGH, DEC_TRESHOLD_LOW, DEC_TRESHOLD_MED, DEC_TRESHOLD_HIGH);
  24. //GetVirtualHud().SetStatus(eDisplayElements.DELM_TDCY_WATER,tendency);
  25. //DSLevels level = DetermineLevel( GetObservedValue(), PlayerConstants.THRESHOLD_WATER_WARNING, PlayerConstants.THRESHOLD_WATER_CRITICAL, PlayerConstants.THRESHOLD_WATER_BLINKING, PlayerConstants.THRESHOLD_WATER_EXTRA);
  26. EStatLevels water_level = m_Player.GetStatLevelWater();
  27. DisplayElementTendency dis_elm = DisplayElementTendency.Cast(GetVirtualHud().GetElement(eDisplayElements.DELM_TDCY_WATER));
  28. if( dis_elm )
  29. {
  30. dis_elm.SetTendency(tendency);
  31. dis_elm.SetSeriousnessLevel(water_level);
  32. }
  33. }
  34. override void DisplayBadge()
  35. {
  36. float water = m_Player.GetStatWater().Get();
  37. if (water >= HYDRATED_TRESHOLD)
  38. {
  39. //GetVirtualHud().SetStatus(eDisplayElements.DELM_NTFR_THIRST,DELM_LVL_1);
  40. }
  41. else if (water <= THIRSTY_TRESHOLD)
  42. {
  43. //GetVirtualHud().SetStatus(eDisplayElements.DELM_NTFR_THIRST,DELM_LVL_2);
  44. }
  45. else if (water <= VERY_THIRSTY_TRESHOLD)
  46. {
  47. //GetVirtualHud().SetStatus(eDisplayElements.DELM_NTFR_THIRST,DELM_LVL_3);
  48. }
  49. else if (water <= FATALLY_THIRSTY_TRESHOLD)
  50. {
  51. //GetVirtualHud().SetStatus(eDisplayElements.DELM_NTFR_THIRST,DELM_LVL_4);
  52. }
  53. }
  54. override void HideBadge()
  55. {
  56. //GetVirtualHud().SetStatus(eDisplayElements.DELM_NTFR_THIRST,DELM_LVL_0);
  57. }
  58. override protected float GetObservedValue()
  59. {
  60. return m_Player.GetStatWater().Get();
  61. }
  62. };