123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- using UnityEngine;
- using System.Collections;
- public class ManaAudio : Regist
- {
- #region 变量
- public static bool Audio;
- public static bool Music;
- public static Coroutine CoroTheme;
- public static Coroutine CoroMiniGame;
- public static Transform AudioParent;
- public static Transform MusicParent;
- public static ManaAudio Instance;
- public static AudioSource MusicMini;
- public static AudioSource MusicTheme;
- #endregion
- public override void Instantiate()
- {
- MusicParent = new GameObject("Music").transform;
-
- ManaReso.Get("MusicMini", Folder.Object, true, MusicParent, true);
- ManaReso.Get("MusicTheme", Folder.Object, true, MusicParent, true);
- }
-
- public override void RegistValueA()
- {
- Audio = true;
- Music = true;
- Instance = this;
- #region MusicMini
- Transform tra = MusicMini.transform;
- TweenAudio tween = tra.CreateTweenAudio(1, 2f, true, true, Curve.EaseOutQuad);
- tween.OnForwardStart += () =>
- {
- MusicMini.Play();
- CoroTheme = StartCoroutine(Loop(MusicMini));
- };
- tween.OnBackwardStart += () =>
- {
- StopCoroutine(CoroTheme);
- };
- #endregion
- #region MusicTheme
- tra = MusicTheme.transform;
- tween = tra.CreateTweenAudio(1, 2f, true, true, Curve.EaseOutQuad);
- tween.OnForwardStart += () =>
- {
- MusicTheme.Play();
- CoroTheme = StartCoroutine(Loop(MusicTheme));
- };
- tween.OnBackwardStart += () =>
- {
- StopCoroutine(CoroTheme);
- };
- #endregion
- ManaReso.Get("MusicTheme").TweenForAudio();
- }
- public override void RegistReference()
- {
- MusicMini = ManaReso.Get<AudioSource>("MusicMini");
- MusicTheme = ManaReso.Get<AudioSource>("MusicTheme");
- }
- public override void TutorialInstantiate()
- {
- Instantiate();
- }
- public override void TutorialRegistValue()
- {
- RegistValueA();
- }
- public override void TutorialRegistReference()
- {
- RegistReference();
- }
- public void MusicSwitch()
- {
- if (Music)
- {
- Music = false;
- ManaReso.SetActive("L_MusicOn", false);
- ManaReso.SetActive("L_MusicOff", true);
-
- MusicParent.SetActive(false);
- StopCoroutine(CoroTheme);
- }
- else
- {
- Music = true;
- ManaReso.SetActive("L_MusicOn", true);
- ManaReso.SetActive("L_MusicOff", false);
- MusicParent.SetActive(true);
- MusicTheme.TweenForAudio();
- }
- }
- public void AudioSwitch()
- {
- if (Audio)
- {
- Audio = false;
- ManaReso.SetActive("L_AudioOn", false);
- ManaReso.SetActive("L_AudioOff", true);
- }
- else
- {
- Audio = true;
- ManaReso.SetActive("L_AudioOn", true);
- ManaReso.SetActive("L_AudioOff", false);
- }
- }
- public IEnumerator Loop(AudioSource audioSource)
- {
- while (true)
- {
- while (audioSource.isPlaying)
- {
- yield return null;
- }
- yield return new WaitForSeconds(3);
- audioSource.Play();
- }
- }
- }
|