stanceindicator.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. class StanceIndicator
  2. {
  3. protected ref HumanMovementState m_State;
  4. protected PlayerBase m_Player;
  5. void StanceIndicator(PlayerBase player)
  6. {
  7. m_State = new HumanMovementState();
  8. m_Player = player;
  9. }
  10. void Update()
  11. {
  12. if ( m_Player )
  13. {
  14. m_Player.GetMovementState(m_State);
  15. int player_stance = m_State.m_iStanceIdx;
  16. int hud_stance_id = 1;
  17. //if ( player_stance == DayZPlayerConstants.STANCEIDX_ERECT || player_stance == DayZPlayerConstants.STANCEIDX_RAISEDERECT) hud_stance_id = 1;
  18. if ( player_stance == DayZPlayerConstants.STANCEIDX_CROUCH || player_stance == DayZPlayerConstants.STANCEIDX_RAISEDCROUCH)
  19. {
  20. hud_stance_id = 2;
  21. }
  22. if ( player_stance == DayZPlayerConstants.STANCEIDX_PRONE || player_stance == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
  23. {
  24. hud_stance_id = 3;
  25. }
  26. DisplayStance(hud_stance_id);
  27. //Debug
  28. //m_Player.MessageStatus(ToString(player) + "StanceIndicator.c || stance: " + ToString(player_stance));
  29. }
  30. }
  31. void DisplayStance(int stance)
  32. {
  33. if ( m_Player )
  34. {
  35. DisplayElementBase stance_element = m_Player.GetVirtualHud().GetElement(eDisplayElements.DELM_STANCE);
  36. if(stance_element)
  37. {
  38. stance_element.SetValue(stance);
  39. }
  40. //m_Player.GetVirtualHud().SetValue(eDisplayElements.DELM_STANCE, stance);
  41. }
  42. }
  43. };