
private bool PlayedEndPanelSFX = false; // 엔드 판넬 재생 여부 상태
void Update()
{
time += Time.deltaTime;
FolliowTxt();
if (endPanel.activeSelf == true)
{
if (PlayedEndPanelSFX == false)
{
SoundManager.Instance.PlaySFX(SFX.EndPanel);
PlayedEndPanelSFX = true; // 효과음 재생 됐으니 상태 변경
}
Time.timeScale = 0.0f;
EndGame();
}
else
{
Time.timeScale = 1.0f;
PlayedEndPanelSFX = false; // 엔드 판넬 꺼지면 효과음 재생되도록 상태 변경
}
}
게임 종료 버튼만 만들어놓고 기능을 만들지 않았다.
Application.Quit(); 를 쓰면 게임 종료 기능을 만들 순 있지만
에디터는 게임 종료 기능이 동작하지 않는다고 한다.
그래서 아래와 같이 전처리기 지시어(#if, #else, #endif)를 사용하여
게임 종료 버튼을 눌렀을 때 게임이 종료되는 기능을 구현하였다.
public void GameExit() // 게임 종료
{
// Application.Quit()만 있으면 에디터는 종료되지 않아서 전처리기 지시어 사용
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
}