[2021. 07. 16]
공격 시스템이 다 마무리 된줄 알았으나, 애니메이션까지 탑재하고 실험을 해봤는데, 실수한 부분을 발견했다.
처음에 짠 공격 스크립트 구조는 유닛들이 공격 애니메이션을 취하지도 않고 빌딩 스스로 GetAttacked()를 하는 것이다.
유닛들의 Attack()함수에 유닛 혹은 빌딩 두 개 다 들어가게 할려고 일반화를 사용할려고 했으나, 서로 성질이 다른 부모들이어서 내가 짜 놓은 구조에는 일반화로 구현하기가 힘들었다. 그래서 방법을 계속 생각해봤고 마침내 정리를 할 수 있었다.
위에 Soldier.cs일부분 사진 속에 Attack도 인터페이스 를 제약으로 두는 일반화를 사용하고 싶었으나.
다른 것은 다 되는데 transform.LookAt() 괄호 안에 transform을 넣어야 했기 때문에 방법을 계속 찾다가 해결을 못하고 마무리를 한 것이 저 상태이다. (인터페이스 활용했으면 더더욱 깔끔했을 텐데 아쉬웠다..)
건물, 유닛을 한 함수에서 걸러내서 공격하는 것은 구현이 되었다. 그리고 병사가 Lv2 이상일 경우 레벨에 따른 확률로 ), 한 대 맞고, 반격을한다. (lv이 높을수록 발동 확률 ↑)
Zoom을 끈 상태에서는 프레임이 다행히도 아직까지는 최대 280이 나온다.
(+ 탱크 구현 완료 )
(+ 야포 구현 완료, 21.07.17 )
[+ 유닛 공격(제너릭 사용) 재수정 ]
잠시 머리를 식히고 피자를 먹다가 영감을 얻어서 바로 손 씻고 노트북에 앉아서 고쳐냈다.
(실험 완료)
얼마나 황당한가 이렇게 간결하게 가독성있게 쓸수있는건데 안된다고 생각해서 넘어갈뻔했다. 여기서 또 한 번 느낀다.
안된다고 생각하면 그때부터 가능성이 낮아진다. 항상 무엇이든 할 수 있으니 방법만 생각하자.
'개발 (Game) > (2021) Unity RTS 포트폴리오' 카테고리의 다른 글
[Day 7] 외교관계 시스템 구축 및 게임 매니저 기능 추가 (2) | 2021.07.18 |
---|---|
[Day 6] 전체 리팩토링 및 게임 매니저 구현 (0) | 2021.07.17 |
[Day 5-1] 확장메서드 수정 + 미니맵 구현 (0) | 2021.07.16 |
[Day 4-2] 유닛 공격 구현 완료, 국가 영토 및 점령 시스템 구현 완료 (0) | 2021.07.15 |
[Day 4-1] 유닛 세분화 + 유닛 매니저 구현, 확장 메서드로 스텟 부여 (0) | 2021.07.15 |