
파괴하는 도중에 오브젝트 생성 오류
·
Unity/2D
문제원인싱글톤패턴을 사용하기위해 싱글톤 제네릭 클래스를 상속받은 형태로 코드를 구성할경우,해당 클래스의 instance가 존재하지않으면 오브젝트를 새로 생성하게된다. 위 처럼 파괴되는 시점에 singleton 클래스를 상속받은 클래스의 instance를 참조하게되면,파괴되는 도중에 해당 클래스가 다시 생성되는 경우가 발생하게된다. 즉, 게임이 종료되어 오브젝트들이 정리되는 와중에 파괴했던 오브젝트가 다시 참조되어 생성된다는 의미이다. 해결방안 _applicationIsQuitting 이라는 flag를 만들어, 지금 게임이 종료되고 있는 시점인지 감지하여,게임이 종료중이라면, instance를 참조하더라도 해당 오브젝트를 생성하지 않도록 return하는 코드를 추가해주면 된다.