2024/08/19 2

이벤트 사용에 있어 주의 점

이벤트는 매우 편리하다 이벤트 발생 시에 구독되어있는 함수들을 한 번에 수행할 수 있기 때문이다. 하지만 동시에 주의해야할 점들이 있다. 먼저 Monobehaviour를 상속받아 오브젝트에 부착될 스크립트일 경우  구독해제에 대해 신경을 써줘야한다. 구독해제를 안한 것이 어떨 때 문제가 되냐면 오브젝트가 구독해제를 안한 상태로 파괴가 됐는데 이벤트 호출을 하면 Null 오류가 뜨게 된다.  또 하나 알아둬야할 것은 람다식의 경우 이벤트 구독 해제가 안된다.  이벤트로 람다식을 구독시키는 것은 매우 편리한 것을 알지만 구독해제가 안되니 되도록 사용하지 않거나 굳이 써야한다면 Monobehaviour를 상속받지 않는 클래스에서 사용하는 것이 좋아보인다. 이번 프로젝트에선 전역으로 사용할 수 있는 이벤트 매니..

유니티 2024.08.19

유니티 - 2 event systems 에러

보통 씬을 LoadScene 했을 때 additive로 불러왔을 때 맞이할 수 있는 에러이다. 말그대로 event system이 2개가 있다는 의미로  씬1과 씬2(additive할 씬)이 있다면  캔버스를 만들때 자동으로 생기는 event system이 씬1에도additive를 할 씬2에도 존재한다면 2개의 event system이 존재하게 된다. 고로 위와 같이 2 event systems 에러가 나는 것이다. 둘 중 한쪽의 event system을 제거해주면 된다.

유니티 2024.08.19