타워 탭에서만 드래그 가능하도록 수정
1. 배치버튼 눌렀을 때 CurrentState 변경해주기
인벤토리 작업하신 상윤님께서 배치모드와 선택모드를 구분하는 enum과 CurrentState를 만들어두셔서 사용했다.
2. 배치모드가 아니라면 드래그 불가능하도록
타워의 진화 / 강화 구현
진화, 강화를 구현했다. 레벨이나 등급별 강화 수치 테이블이 없기 때문에 우선 하드코딩 대충 해놓은 모습.
타워의 데이터를 담은 Tower.cs에 작성해놨는데 UpgradeManager가 생길 예정이라 옮겨질 것이다.
근데 강화버튼이 아직 아무 것과도 바인딩이 안되어이씀!!! 추후 연결 필요
버그 - 타워 철거했던 곳에 다시 배치가 안되는 버그 (해결)
1. 타워 철거 버튼 누르는 곳에서 RemovePlacedMap을 안해주고 있었다. 데헷 실수해버렸으려나 0.<
그래서 추가했다는 뜻.
2. 편집모드에서만 새로운 배치로 인식하도록 했다.
그러지 않으면 타워 철거 버튼을 눌렀을 때, 1번에서 수정한 사항 때문에 새로 타워를 배치할 때 클릭된 곳이 빈 칸으로 인식되어서 다시 새로운 위치를 추가한다. (파란 박스친 코드 때문)
그래서 편집 모드에서만 새로운 배치로 인식할 수 있도록 조건을 추가해줬다.
참고로 placedMap은 현재 배치된 타워의 위치를 저장하고 있는 HashSet이다.
개선 - 타워 드래그 힘들다는 피드백 (해결)
타워의 클릭되는 영역은 맵의 그리드와 같은 크기로 맞춰놨는데, 드래그가 힘들다고 느껴진 이유는 타워의 Sprite가 그리드의 중앙에서 타워의 발끝(?)이 시작되기 때문이다. 그래서 타워의 MainSprite 오브젝트만 offset을 줘서 사용자가 느끼기에 타워를 클릭하는 것으로 인식될 수 있도록 수정했다.
추가로 원래 MainSprite의 위치를 각각의 TowerBody프리팹에서 조절했었는데 코드에서 조절할 수 있도록 수정했다.
'프로젝트 일지 > Unity' 카테고리의 다른 글
[Unity/TIL] '오집마' 프로젝트에서의 오브젝트 풀링 (Object Pooling) (3) | 2025.04.30 |
---|---|
[Unity/TIL] Firebase 연동 (4) | 2025.04.29 |
[Unity/TIL] 최종 프로젝트 개발 일지 - 중복되는 코드 구조 변경 (1) | 2025.04.25 |
[Unity/TIL] 2D 게임에서 특정 오브젝트 바라보도록 회전시키기 (7) | 2025.04.23 |
[Unity/TIL] 2D Sprite 정렬 기준 바꾸기 (Transparency Sort Axis) (9) | 2025.04.22 |