어제 이 짤 올린 사람임
위 2개의 콜라이더에는 총알을 Dequeue하는 스크립트가 달렸는데
빨간 동그라미 친 콜라이더가 겹쳐진 부분으로 총알이 들어가면
낮은 확률로 Dequeue가 중복 실행 되면서
다음에 queue에서 꺼내쓸때 문제가 생긴 것
안겹치게 만들면 해결~
근데 적이 움직이다 겹치거나할 때 문제는 생길 수 있을 것 같음
고럴 땐 옵젝트 풀링을 queue나 stack말고 array 배열로 만들면
컬렉션에 다시 넣을 필요없이 그냥 SetActive(false)하면 되서
중복 실행되도 문제 없을듯요 이상 좆문가 생각이였습니다~
그냥 풀링 돼있는지 체크한다음 넣으면 될것 같은데
다른 인덱스 같은 참조라고 말해줬는데 알아서 해결한다더니 언제든 다시 오류생길 해결방법을 들고왔네
큐에 넣을때 객체가 이미 이미 큐에 들어있는지 체크하거나 (큐에 들어가면 비활성화 되므로) 활성화된 상태이거나를 체크해주는게 옳지 않을까?
음 내가 방법이 비효율적이였나.. 근데 array 쓰는게 성능적 비효율적일진 몰라도 문제는 안일으키는 것 같긴함 array가 괜히 애착이 가네 있다가 queue로 바꿔서 다시 해봐야겠음 방법 고마움
저기 닿으면 Dequeue가 아니고 Disable 아니냐? ㅋㅋ 그럼 OnDisable에서 지 스스로 Enqueue 해서 큐에 처박히게 하면 한번만 되는데 ㅡㅡㄱ
컴포넌트를 disable인지 확인하고 disable 아니면 disable시켜서 onDisable 함수 안에서 Enqueue실행시켜 넣는 방법 말하는거 같은데 좋은 방법인거 같음 ㄱㅅ