[게임 도중 캐릭터 선택 기능]을 구현 중에 데이터를 교체하는게 아닌 Instnate와 Destroy를 이용하여 구현하였다.

나중에 시간이 되면 데이터를 채우는 형식으로 변경하는게 최적화에 더 좋을것 같지만, 우선 과제 제출이 먼저이기떄문에 최적화에 좋지 않지만 이것을 선택했다 하지만. 

 

해당 컴포넌트를 가진 오브젝트를 Destroy 를 하자 문제가 발생하였다.

파괴한 객체에 animator와 InputSystem이 자꾸 접근하려는 문제였다.

 

나는 분명 GameManager에 InputSystem을 컨트롤 하구 있고 Animator는 제대로 사라졌는데 왜 자꾸 사라진 객체에 접근하려는지 이유를 몰랐다.

 

원인은 내가 객체에 AnimationController를 컴포넌트로 추가해놨기 때문이였다.

해당 코드에서 Event함수에 메서드룰 추가 해놨으니 객체가 사라져도

InputSystem은 안사라지고 살아있으나 객체가 사라진 event함수는 갈곳을 잃었기에 문제가 발생하고 있었던것 이였다.

 

 

-대처-

해당 오브젝트가 파괴될떄 갖고 있는 컴포넌트를 전부 null 처리 및 Event함수에 저장된 함수를 제거함으로 트러블슈팅을 해결하였다.

+ Recent posts