Unit 구조 재설계
팀원의 작업물에 괭이질을 하는 쓰레기 팀원이 되었습니다.
전투에서 쓰이는 유닛들이 각각 다른 특성을 가지고 있는데, 이들에게 필요한 스크립트를 독립적으로 만들다 보니 통일성이 떨어지고 일괄적으로 명령을 내리기 어려워진다는 문제점이 있었다.
그래서 팀원께서 만들어주신 멋진 코드들을 내멋대로 재구조화하는 이슈 발생
각 유닛이 가지고 있어야 할 스크립트 종류를 네 개로 나누어보았다.
- UnitStats(ScriptableObject) : 기본 스탯 데이터 저장
- UnitController : 행동 로직 담당. UnitStats 정보를 가지고 있음
- IEffect 인터페이스를 구현하는 각각의 클래스
- 근거리공격, 장거리공격, 마이닝, 힐, 방어 및 아무것도 안 하기 등 각각 다르게 적용되는 작업내용을 IEffect인터페이스를 구현하는 클래스 설계
- UnitController에서 IEffect인터페이스를 참조하면 각각의 효과에 해당하는 클래스에 접근할 수 있음 (IEffect 구현하는 클래스 중 프리팹에 붙어있는 아무거나 참조하게 됨)
- 따라서 UnitController에서 통일성 있는 접근을 할 수 있고 수정 및 관리가 편해질 것이라 예상
- HealthSystem
- 자신의 체력을 깎는 로직은 여기로 분리
- 공격하는 유닛이 상대 유닛의 HealthSystem에 접근해서 체력을 깎는 메서드를 호출시킴 → 상대 유닛의 체력 감소
공격의 종류가 다르거나, 공격 대신 힐을 하거나, 움직이거나, 움직이지 않거나 모두 위의 방식을 적용시켜서 동일한 구조를 유지할 수 있도록 했다.
(Chess, Trump, King, Boss 모두 위와 같은 구조로 만들면 스크립트를 재사용할 수 있고 간결해질 것 같다는 것이 포인트)
이때까지 코드를 짤 때 강의에서 나온 구조를 그대로 재탕하거나 일단 코드를 쓰고 봤는데, 이번에는 생각이라는 걸 하고 구조를 짜보았다는 점에서 의미가 있었다. 그리고 계속해서 이론적으로만 공부해왔던 인터페이스를 직접 적용시켜보기.
아쉬운 점은 팀원의 결과물을 괭이질해버렸다는 것.. 팀원의 코드를 그대로 활용하기도 했고 허락도 받았다고 하지만 그래도 다른 사람의 작업물을 건드리는 건 꼭 필요한 상황이 아닌 이상 앞으로 절대 하지 말아야겠다는 생각을 했다.
팀플 결과:
GitHub - Sparta-JandP/TfootAreYouC
Contribute to Sparta-JandP/TfootAreYouC development by creating an account on GitHub.
github.com
✨B01 제왑삐✨ 『CHESS vs,TRUMP』
❤ 프로젝트
www.notion.so
팀플 후기:
정말 어려운 팀플이었다,,
나는 정말 실력적으로 팀을 이끌 수 있는 역량도 충분하지 않고, 팀원들에게 무언가를 지시하기에는 결단력이 부족하고 우유부단하다. 차라리 뻔뻔하게 강요하기라도 할 걸 적당히 착한 척하느라 눈치보고 있느라 가야 할 방향으로 나아가지도 못하고 스트레스만 쌓이는 슬픈 경험을 하게 되었다.
하지만 만족하지 못한 경험들은 어떻게 문제들을 보완해야 할지 생각해볼 계기를 마련하니까! 덕분에 나의 문제점이 무엇인지, 어떻게 나아가야 할지 돌아볼 수 있었다.
크게 와닿았던 것은 팀플을 통해 얻어가는 것은 결과물이 다가 아니라는 것.
주어진 상황에 따라서 팀원들과 내가 무엇을 얻어갈지 잘 생각해보고, 그 목표를 향해 달려가는 것도 중요하다는 것을 깨달았다. 이걸 팀플이 끝나고 깨달아서 아쉽지만 앞으로는 각 활동들이 나에게 어떤 의미가 있는지 잘 생각해보고 그 의미를 살리기 위해 노력해서 더 많이 배울 수 있도록 해야겠다는 생각을 했다.
'👾 내일배움캠프 > 🎮 TIL & WIL' 카테고리의 다른 글
내일배움캠프 47일차 TIL - UI 담당자의 반성 (1) | 2023.10.22 |
---|---|
내일배움캠프 38일차 TIL - Tilemap 활용하기 (0) | 2023.10.22 |
내일배움캠프 37일차 TIL - ArrayList (0) | 2023.10.18 |
내일배움캠프 36일차 TIL - 알고리즘 풀다가 C# 공부하기 (DateTime) (1) | 2023.10.06 |
내일배움캠프 35일차 TIL - 적 생성 및 로직 (Unity 네비게이션 시스템) (0) | 2023.10.06 |