종료로직
public void GameExit(){ Application.Quit(); }
- 하지만 이렇게만 하면 빌드를 하기 전까지는 유니티에서 종료가 되지 않기 때문에 전처리기 지시어(#if, #else, #endif)를 사용해서 종료를 시켜준다.
public void GameExit() { #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif }
꾸준 실습
문제 상황
- for문 안에서 return을 줬으나 반환값이 제대로 주어지지 않았다는 오류가 생김.
public GameObject Get() { for (int i = 0; i < poolSize; i++) { if (findObject.activeSelf == false) { pool[i].SetActive(true); } return pool[i]; } }
→ for문 안에서는 return을 만나 반환값이 나올 수 있지만 for문의 poolSize가 0일 경우 아예 for문이 실행되지 않아 return이 안되기 때문에 for문 밖에서도 return을 줘야한다.
public GameObject Get() { for (int i = 0; i < poolSize; i++) { if (findObject.activeSelf == false) { pool[i].SetActive(true); } return pool[i]; } return null; // for문이 실행되지 않으면 값이 없기 때문에 null 반환 }
나름대로 해봤지만 아직 실행시켜봐야 함..