오브젝트가 있는데 거기있는 스크립트 A를 Destroy 했어
그 후 다시 A스크립트를 붙여 여기까진 잘 되는데 그걸 바로 다시 캐싱한다
그러니까
AddComponent 해서 붙여진 스크립트를
곧바로 다음줄에서 GetComponenet를 할 경우 이게 안됨 Missing이 뜸
하지만 getcomponenet를 지연된 시간 단 0.0001초를 지연하더라도
다른 코드블럭을 읽은 후에는 캐싱이 됨..
겟컴포넌트 부하때문에?
그럼 내가 잘못접근하고있는건가?
오브젝트에 어떤 부모를 가진 클래스를 붙였다 뗏다 하면서 사용해야하는데
저게 저런식이면 계속 붙여주고 캐싱할때마다 지연처리를 해줘야한다?
몬가... 잘못하고있는거같은느낌
AddComponent 리턴 값이 뭐게
그렇게 처리하면 되긴 하는데 난 이해가 안되는거야 Getcomponent가 단순히 부하가 걸려서 미싱이 뜨는거임? 할당되기전에 없어서?
그건 Destroy한 직후에 읽어서 방금 부순 컴포넌트 가져온거 같은데?
DestroyImmediate로 해보쉴?
맞네 Destroy가 문제네 난 AddComponent가 문젠가 생각하고있었는데 ㄳ
디스트로이가 즉시 안될거임
ㄳ
아니 근데 Destroy가 문제라고 치면 얘때문에 GetComponent가 씹힌다는소리야? 타겟객체에 스크립트가 몇개가붙던 하나는 사라지고 하나는 붙고 AddComponent는 작동을하는데 ..?
씹히는게 아니라 Destroy 요청한 기존 컴포넌트가 아직 붙어있는거임
GetComponent는 인스펙터에서 붙어있는 순서상 위쪽을 우선하니까 방금 추가한 애가 아니라 기존에 있던 애를 받은 다음 버로 파괴되서 미싱나는거지