강의

멘토링

커뮤니티

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

단짠커피님의 프로필 이미지
단짠커피

작성한 질문수

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

목표 검색을 위한 TargetSearcher와 Skill 범위 표시를 위한 Indicator

Indicator와 SelectionAction 및 SearchAction 간의 관계에 대해 질문있습니다.

작성

·

4

0

좋은 강의 잘 듣고 있습니다. 감사합니다.

강의 코드를 면밀히 분석해보고 다양한 상황을 고려해봤습니다.

현재는 SelectionActionSearchAction들의 로직들이 Indicator의 로직에 제한된 느낌이 들었는데요.

 

현재 Indicator

[모양]: 원형 및 원뿔 검색

[방향]: 원뿔의 경우 isAttachIndicatorToRequester에 따라 스페이스를 누른 시점에 방향이 고정

이처럼 제한 되다 보니 SelectTarget이나 SearchArea들의 내부 로직을 작성할 때 현재의 Indicator를 고려해서 작성 해야 되는 상황이 나옵니다

 

즉, 예를들어 사각형, 캡슐, 또는 구 형태의 Indicator라던가 마우스를 따라 회전하는 Indicator 등 로직들이 서로 상이합니다.

이렇게 다양한 Indicator들을 구현한다고 했을 때 이미 만들어둔 SelectionAction이나 SearchAction에서 Indicator들에 맞춰 로직을 분기 처리하는 방식이 될거같더라구요.

 

그래서 생각을 해봤는데 어차피 Indicator에 따라서 체크 로직이 다르다면 Indicator 내에서 체크 로직을 담당하는게 좋을거같다고 생각했습니다.

1) SelectionActionSearchAction에서 각각 범위 체크를 해야 되는 시점에 Indicator에게 정보를 넘겨준다.

2) 각 Indicator들은 받은 정보를 토대로 해당 Indicator에 맞춰 실제 범위 체크를 처리하고 그 결과를 SelectionActionSearchAction에게 반환한다.

이렇게 하면 SelectionAction이나 SearchAction는 더 이상 수정할 것 없이 Indicator 만 구현해서 갈아 끼우면 되는 모듈로 사용할 수 있다고 생각이 듭니다.

 

하지만, SelectionActionSearchAction가 직접 범위를 체크 해야 하는 책임을 가지는 거였다면, 제가 말씀드린 설계는 책임 분리가 잘 못된 걸로 보여집니다.

 

따라서 질문 드릴 사항은

1) 위와 같은 설계 방식이 책임 분리나 다른 문제가 되는 방식일까요?

2) 또는 더 좋은 설계 방식이 있는지 궁금합니다.

감사합니다.

 

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
단짠커피님의 프로필 이미지
단짠커피

작성한 질문수

질문하기