驱蚊app
您不能選擇超過 %s 個話題 話題必須以字母或數字為開頭,可包含連接號 ('-') 且最長為 35 個字
 
 
 
 
 

171 行
3.8 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. [SerializeField]
  24. Text SubDetailsText;
  25. [SerializeField]
  26. GameObject dingyueBg;
  27. byte playType = 255;
  28. bool _isPlaying = false;
  29. bool IsPlaying
  30. {
  31. get { return _isPlaying; }
  32. set
  33. {
  34. _isPlaying = value;
  35. if (value)
  36. {
  37. PlayButtonImages.sprite = PlayButtonSprites[0];
  38. boWenImage.enabled = true;
  39. PlaySound();
  40. }
  41. else
  42. {
  43. PlayButtonImages.sprite = PlayButtonSprites[1];
  44. boWenImage.enabled = false;
  45. StopSound();
  46. }
  47. }
  48. }
  49. public override void OnOpen(params object[] args)
  50. {
  51. int model = (int)args[0];
  52. bgImage.sprite = bgSprites[model];
  53. StopSound();
  54. }
  55. public override void OnClose()
  56. {
  57. IsPlaying = false;
  58. }
  59. public void ClickCloseButton()
  60. {
  61. Close();
  62. }
  63. public void ClickPlayButton()
  64. {
  65. if (IsPlaying)
  66. {
  67. IsPlaying = false;
  68. }
  69. else
  70. {
  71. if (IAPManager.Instance.IsSubscribed())
  72. {
  73. IsPlaying = true;
  74. }
  75. else
  76. {
  77. int freeNum= PlayerPrefs.GetInt("FreeNum_" + GameData.Instance.appleUserId, 3);
  78. SubDetailsText.text = $"<color=#1e92ff>{freeNum} free trals available and all types</color> of products can be used after subscription";
  79. dingyueBg.SetActive(true);
  80. }
  81. }
  82. }
  83. public void PlaySound()
  84. {
  85. string bgmPath;
  86. switch (playType)
  87. {
  88. case 0:
  89. bgmPath = "1 Khz - Bass Mekanik";
  90. break;
  91. case 1:
  92. bgmPath = "Sinus 2500Hz _ 10dB - Test Tones";
  93. break;
  94. case 2:
  95. bgmPath = "Sinus 6000Hz _ 10dB - Test Tones";
  96. break;
  97. case 3:
  98. bgmPath = "Sinus 8000Hz _ 10dB - Test Tones";
  99. break;
  100. default:
  101. bgmPath = "1 Khz - Bass Mekanik";
  102. break;
  103. }
  104. AudioManager.Instance.PlayBGM(bgmPath);
  105. }
  106. public void StopSound()
  107. {
  108. AudioManager.Instance.StopBGM();
  109. }
  110. public void ClickModelButton(int model)
  111. {
  112. if (playType != model)
  113. {
  114. playType = (byte)model;
  115. for (int i = 0; i < ModelButtonImages.Length; i++)
  116. {
  117. if (i == model)
  118. {
  119. ModelButtonImages[i].sprite = modelSprites[4 + i];
  120. }
  121. else
  122. {
  123. ModelButtonImages[i].sprite = modelSprites[i];
  124. }
  125. }
  126. }
  127. }
  128. public void ClickSubNowButton()
  129. {
  130. IAPManager.Instance.BuySubscription();
  131. dingyueBg.SetActive(false);
  132. }
  133. public void ClickSubLaterButton()
  134. {
  135. int freeNum = PlayerPrefs.GetInt("FreeNum_" + GameData.Instance.appleUserId, 3);
  136. if (freeNum > 0)
  137. {
  138. PlayerPrefs.SetInt("FreeNum_" + GameData.Instance.appleUserId, freeNum - 1);
  139. IsPlaying = true;
  140. }
  141. dingyueBg.SetActive(false);
  142. }
  143. public void ClickCloseDingYueButton()
  144. {
  145. dingyueBg.SetActive(false);
  146. }
  147. }