freezingsoundhandler.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. class FreezingSoundHandlerBase extends SoundHandlerBase
  3. {
  4. override void Init()
  5. {
  6. m_Id = eSoundHandlers.FREEZING;
  7. }
  8. }
  9. //---------------------------
  10. // Client
  11. //---------------------------
  12. class FreezingSoundHandlerClient extends FreezingSoundHandlerBase
  13. {
  14. const float SOUND_INTERVALS_LIGHT_MIN = 5; const float SOUND_INTERVALS_LIGHT_MAX = 20;
  15. float m_SoundTime;
  16. EffectSound m_Sound;
  17. ref HumanMovementState hms = new HumanMovementState();
  18. override void Update()
  19. {
  20. if( m_Player.GetShakeLevel() > 0 )
  21. {
  22. ProcessSound();
  23. }
  24. }
  25. void ProcessSound()
  26. {
  27. m_Player.GetMovementState(hms);
  28. if (hms.m_iMovement == DayZPlayerConstants.MOVEMENTIDX_IDLE)
  29. {
  30. //return;
  31. }
  32. if( GetGame().GetTime() > m_SoundTime )
  33. {
  34. float offset_time = Math.RandomFloatInclusive(SOUND_INTERVALS_LIGHT_MIN, SOUND_INTERVALS_LIGHT_MAX) * 1000;
  35. m_SoundTime = GetGame().GetTime() + offset_time;
  36. PlaySound();
  37. }
  38. }
  39. void PlaySound()
  40. {
  41. //Print("------------- freezing --------------");
  42. m_Player.PlaySoundEvent(EPlayerSoundEventID.FREEZING);
  43. }
  44. }
  45. //---------------------------
  46. // Server
  47. //---------------------------
  48. class FreezingSoundHandlerServer extends HungerSoundHandlerBase
  49. {
  50. }*/