인프런 커뮤니티 질문&답변

오승재님의 프로필 이미지
오승재

작성한 질문수

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

Projectile 쏘기

IsSubclassOf 질문입니다

작성

·

438

0

else if(type == typeof(ProjectileController))

{

GameObject go = Managers.Resource.Instantiate("FireProjectile.prefab", pooling: true);

go.transform.position = position;

ProjectileController pc = go.GetOrAddComponent<ProjectileController>();

Projectiles.Add(pc);

pc.Init();

return pc as T;

}

 

총알이 계속 안불러와져서 코드실수인가 해서 계속 체크하다가 중단점 잡고 보니

else if (typeof(T).IsSubclassOf(typeof(ProjectileController)))

이 부분을

else if(type == typeof(ProjectileController))

이렇게 바꾸고나니 총알이 제대로 불러와지더라구요

 

뭐가 문제인가요?? 강사님 코드에서는 isSubclassOf 를 쓰셔도 잘 발사가 되는거 같은데

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

ProjectileController로 디버깅을 하신게 맞을까요?
그리고 사실 typeof는 느리기 때문에 굳이 이 방식보다는
귀찮더라도 enum을 넣어서 처리하는게 더 낫습니다 !

오승재님의 프로필 이미지
오승재
질문자

despawn 쪽은 enum으로 해결했는데 spawn쪽을 어떻게 수정해야하는지 감이 잘 안잡혀요

오승재님의 프로필 이미지
오승재

작성한 질문수

질문하기