• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

제대로 이해한건지 확인 부탁 드립니다

21.09.09 04:32 작성 조회수 74

0

안녕하세요

두가지 질문이 있습니다

 

첫번째는 제가 제대로 이해를 한건지 확인부탁드립니다

오브젝트풀을 적용하고, 적을 파괴할 때는

ObjectPoolManager.instance.Pool_Asteroid.Destroy(collision.gameObject);

Asteroid를 파괴할 때와는 다르게

            Enemy enemy = collision.GetComponent<Enemy>();

            enemy.GetDestroyed();

직접 해당 게임 오브젝트속에 있는 Enemy Class에 들어가서 파괴하는 함수를 불렀잖아요

 Enemy종류가 여러가지 임에 따라 오브젝트 풀도 여러가지이고, 앞에서 Enemy를 생성할 때는, type이라는 변수를 통해서 특정 Enemy의 오브젝트 풀에 일일이 들어가야 했죠. 

하지만 Enemy가 파괴되는 곳은 Player클래스고 type이라는 변수를 가져와서 ObjectPoolManager 클래스에 들어가는 것 보다는 그냥 바로 Enemy에 들어가서 파괴하는 함수를 불러오는게 편해서 이렇게 하신게 맞나요?

답변 1

답변을 작성해보세요.

0

네 적을 적용할때 편해서 그렇게 적용했다고 생각하셔도 될것 같습니다. 

Asteroid 와 다르게 적은 type 이 여러개 있죠.

그걸 외부에서 불러버리면 그걸 가지고 다 if로 적용을 하던지 type 에 따라서 적용을 해야 하니까요. 

하지만 내부에 type 변수가 있으므로 외부에서는 함수를 부르고 내부에서 타입에 따라 처리했습니다. 

사실 구현의 문제이므로 어떻게 사용해도 관계는 없습니다. 

정확히 저희가 원한대로만 동작하면 문제가 없으니까요. 

좋은 하루 되시고요. 감사합니다