驱蚊app
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

135 行
2.7 KiB

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class UIMainModel : UIBase
  6. {
  7. [SerializeField]
  8. Image bgImage;
  9. [SerializeField]
  10. Text titleText;
  11. [SerializeField]
  12. Image boWenImage;
  13. [SerializeField]
  14. Sprite[] bgSprites;
  15. [SerializeField]
  16. Sprite[] modelSprites;
  17. [SerializeField]
  18. Image[] ModelButtonImages;
  19. [SerializeField]
  20. Sprite[] PlayButtonSprites;
  21. [SerializeField]
  22. Image PlayButtonImages;
  23. byte playType = 255;
  24. bool _isPlaying = false;
  25. bool IsPlaying
  26. {
  27. get { return _isPlaying; }
  28. set
  29. {
  30. _isPlaying = value;
  31. if (value)
  32. {
  33. PlayButtonImages.sprite = PlayButtonSprites[0];
  34. boWenImage.enabled = true;
  35. PlaySound();
  36. }
  37. else
  38. {
  39. PlayButtonImages.sprite = PlayButtonSprites[1];
  40. boWenImage.enabled = false;
  41. StopSound();
  42. }
  43. }
  44. }
  45. public override void OnOpen(params object[] args)
  46. {
  47. int model = (int)args[0];
  48. bgImage.sprite = bgSprites[model];
  49. StopSound();
  50. }
  51. public override void OnClose()
  52. {
  53. IsPlaying = false;
  54. }
  55. public void ClickCloseButton()
  56. {
  57. Close();
  58. }
  59. public void ClickPlayButton()
  60. {
  61. if (IsPlaying)
  62. {
  63. IsPlaying = false;
  64. }
  65. else
  66. {
  67. IsPlaying = true;
  68. }
  69. }
  70. public void PlaySound()
  71. {
  72. string bgmPath;
  73. switch (playType)
  74. {
  75. case 0:
  76. bgmPath = "1 Khz - Bass Mekanik";
  77. break;
  78. case 1:
  79. bgmPath = "Sinus 2500Hz _ 10dB - Test Tones";
  80. break;
  81. case 2:
  82. bgmPath = "Sinus 6000Hz _ 10dB - Test Tones";
  83. break;
  84. case 3:
  85. bgmPath = "Sinus 8000Hz _ 10dB - Test Tones";
  86. break;
  87. default:
  88. bgmPath = "1 Khz - Bass Mekanik";
  89. break;
  90. }
  91. AudioManager.Instance.PlayBGM(bgmPath);
  92. }
  93. public void StopSound()
  94. {
  95. AudioManager.Instance.StopBGM();
  96. }
  97. public void ClickModelButton(int model)
  98. {
  99. if (playType != model)
  100. {
  101. playType = (byte)model;
  102. for (int i = 0; i < ModelButtonImages.Length; i++)
  103. {
  104. if (i == model)
  105. {
  106. ModelButtonImages[i].sprite = modelSprites[4 + i];
  107. }
  108. else
  109. {
  110. ModelButtonImages[i].sprite = modelSprites[i];
  111. }
  112. }
  113. }
  114. }
  115. }