SoundsManager.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System;
  2. using System.Net;
  3. using Agava.WebUtility;
  4. using JTSystems;
  5. using UnityEngine;
  6. using Random = UnityEngine.Random;
  7. using Eiko.YaSDK;
  8. public class SoundsManager : MonoBehaviour
  9. {
  10. [Header(" Sounds ")]
  11. [SerializeField] private AudioSource paperSoundFold;
  12. [SerializeField] public AudioSource main;
  13. [SerializeField] private AudioSource paperSoundUnfold;
  14. [SerializeField] private AudioSource paperSoundStickerEffect;
  15. [SerializeField] private AudioSource levelCompleteSound;
  16. Paper currentPaper;
  17. void Start()
  18. {
  19. //UIManager.onGameSet += StoreCurrentPaper;
  20. UIManager.onLevelCompleteSet += ResetCurrentPaper;
  21. LevelManager.onPaperInstantiated += StoreCurrentPaper;
  22. YandexSDK.instance.audio = main;
  23. }
  24. private void OnApplicationPause(bool pauseStatus)
  25. {
  26. AudioListener.volume = pauseStatus ? 0 : 1;
  27. AudioListener.pause = pauseStatus;
  28. }
  29. private void OnDestroy()
  30. {
  31. //UIManager.onGameSet -= StoreCurrentPaper;
  32. UIManager.onLevelCompleteSet -= ResetCurrentPaper;
  33. LevelManager.onPaperInstantiated -= StoreCurrentPaper;
  34. }
  35. private void StoreCurrentPaper(Paper paper)
  36. {
  37. currentPaper = paper;
  38. currentPaper.paperStartFold += PlayPaperFoldSound;
  39. currentPaper.paperStartUnfold += PlayPaperUnfoldSound;
  40. currentPaper.onPaperShowEffect += PlayPaperShowStickerEffectSound;
  41. }
  42. /*
  43. private void StoreCurrentPaper()
  44. {
  45. currentPaper = FindObjectOfType<Paper>();
  46. currentPaper.paperStartFold += PlayPaperFoldSound;
  47. currentPaper.paperStartUnfold += PlayPaperUnfoldSound;
  48. currentPaper.onPaperShowEffect += PlayPaperShowStickerEffectSound;
  49. }
  50. */
  51. private void ResetCurrentPaper(int none)
  52. {
  53. //currentPaper.onPaperEvolving -= PlayPaperSound;
  54. currentPaper.paperStartFold -= PlayPaperFoldSound;
  55. currentPaper.paperStartUnfold -= PlayPaperUnfoldSound;
  56. currentPaper.onPaperShowEffect -= PlayPaperShowStickerEffectSound;
  57. currentPaper = null;
  58. levelCompleteSound.Play();
  59. }
  60. private void PlayPaperFoldSound()
  61. {
  62. paperSoundFold.pitch = Random.Range(0.9f, 1.2f);
  63. paperSoundFold.Play();
  64. }
  65. private void PlayPaperUnfoldSound()
  66. {
  67. paperSoundUnfold.pitch = Random.Range(0.9f, 1.2f);
  68. paperSoundUnfold.Play();
  69. }
  70. private void PlayPaperShowStickerEffectSound()
  71. {
  72. paperSoundStickerEffect.Play();
  73. }
  74. }