오늘은 원거리 무기의 공격 구현을 어느 정도 마무리했다. 오브젝트 풀링을 사용하는 것이 어렵기는 했지만 어떻게든 해낸듯? 이제 근접 무기 공격이 어느정도 되면 다음에는 무기별 애니메이션 만들기만 하면 될 것 같다.
오늘의 코드카타에서 가장 중요한 것은 SubString으로 문자열 자르기! 자꾸만 사용 방법을 까먹는데 잊지말자. SubString(시작 위치, 자를 문자열 길이)
https://velog.io/@amberjack/24.03.14-기술-면접
델리게이트에 대한 설명과 델리게이트, 이벤트의 차이, Action, Func의 차이.
델리게이트는 메서드를 변수처럼 활용할 수 있도록 도와주는 기능으로, 델리게이트를 통해 여러 메서드에서 동일한 동작 처리를 할 때 메서드를 매개 변수처럼 활용할 수 있다. 델리게이트를 활용하면 동일한 동작 처리 작성을 줄일 수 있어 코드의 확장성에 용이하다. 또한 델리게이트를 활용하여 동작 처리에 대한 콜백으로도 활용할 수 있다.
델리게이트와 이벤트의 차이는 인터페이스 내 사용 여부와 public 설정이다. 델리게이트는 인터페이스에서 사용 가능하지만, 이벤트는 불가하다. 또한 델리게이트는 public으로 설정 시 외부에서 접근이 가능하지만 이벤트는 불가하다.
Action와 Func 둘다 델리게이트 변수로 델리게이트 선언 시 사용할 수 있지만 Action의 경우 반환 타입이 없을 경우, Func는 있을 경우 사용할 수 있다.
출처 :
https://www.youtube.com/watch?v=797-ad7l8uM&t=123s
https://goraniunity2d.blogspot.com/2021/05/brackeys.html
큐를 통해서 오브젝트 풀링을 구현할 뿐 아니라, ReturnToPool을 통해 Prefab이 Disable될 때 호출이 가능하도록 구현하셨다. 또한 Pool 배열에 따라 오브젝트 풀을 정렬시켜줄 뿐 아니라 동적으로 크기 또한 늘릴 수 있다.