Scene sceneManager;


public AudioSource main;

public AudioSource play;

public AudioSource fever;


void Awake()

{

ย  ย  sceneManager = SceneManager.GetActiveScene();


ย  ย  DontDestroyOnLoad(gameObject);

}


void OnEnable()

{

ย  ย  SceneManager.sceneLoaded += OnSceneLoaded;

}


void OnSceneLoaded(Scene scene, LoadSceneMode mode)

{

ย  ย  switch (scene.name)

ย  ย  {

ย  ย  ย  ย  case "Main":

ย  ย  ย  ย  ย  ย  StartCoroutine("Main");

ย  ย  ย  ย  ย  ย  break;


ย  ย  ย  ย  case "Play":

ย  ย  ย  ย  ย  ย  StartCoroutine("Play");

ย  ย  ย  ย  ย  ย  break;

ย  ย  }

}


IEnumerator Main()

{

ย  ย  yield return null;


ย  ย  play.Stop();

ย  ย  fever.Stop();


ย  ย  if (!main.isPlaying)

ย  ย  {

ย  ย  ย  ย  main.Play();

ย  ย  }


ย  ย  StartCoroutine("Main");

}


IEnumerator Play()

{

ย  ย  yield return null;


ย  ย  main.Stop();


ย  ย  if (!play.isPlaying && !GameManager.Instance.isFever)

ย  ย  {

ย  ย  ย  ย  play.Play();

ย  ย  ย  ย  fever.Pause();

ย  ย  }

ย  ย  else if (!fever.isPlaying && GameManager.Instance.isFever)

ย  ย  {

ย  ย  ย  ย  fever.Play();

ย  ย  ย  ย  play.Pause();

ย  ย  }


ย  ย  StartCoroutine("Play");

}


๋ญ๊ฐ€ ๋ฌธ์ œ์ผ๊นŒ



์ง€๊ธˆ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์€ Main์—์„œ Play๋กœ ์”ฌ์ด ๋„˜์–ด๊ฐ€๋„



Main ์Œ์•… ์ž์ฒด๋Š” ๋ฉˆ์ถ”๋Š”๋ฐ, Play ์”ฌ์œผ๋กœ ๋„˜์–ด๊ฐ€๋„ ์•„์˜ˆ ์Œ์•… ์žฌ์ƒ์ด ์•ˆ๋จ



24b0d121e09c28a8699fe8b115ef046c62f92a4b


๋‹น์—ฐํžˆ ๋‹ค ๋„ฃ์–ด๋†จ๊ณ , ๊ฐ ์†Œ์Šค๋งˆ๋‹ค ์„ค์ •๋„ ๋˜์–ด์žˆ์Œ


24b0d121e09c28a8699fe8b115ef046f594d98


๋‹น์—ฐํžˆ ์”ฌ ์ด๋ฆ„๋„ ์ผ์น˜ํ•จ