게임의 구조를 방 기반으로 바꾸면서 미니맵의 구현이 단순해졌겠다, 플레이어의 계획을 수립하기 위한 도구로 미니맵을 추가 하기로 했음...


a0563068f5dc3f8650bbd58b3686726a40b4

아이소메트릭 형식에 따라, 미니맵을 마름모 형태로 만들어줬고, 클리어 여부, 접근 가능 여부,경로와 해당 방의 속성, 플레이어가 존재 하는 방의 위치를 표시해주는 아주 간단한 형태의 정보를 제공한다.


[문제 1] 방의 존재 형태가 매우 많은데, 이를 전부 만들어 내기에는, 필요한 작업이 너무 많다.


1c828168f5dc3f8650bbd58b3688756c11b2

이런 식으로 큰 방이 존재하고, 경로가 막힌 방, 뚫린 방 모두 이미지를 그리기는 매우 귀찮다...

이를 해결 하기 위해



a76508666912c42cbf6f98a518d60403e707046c4d934e8c13

모든 방의 이미지는 단순 색깔 마름모로 만들고,


a76508666e3ff62a935398a518d60403680c752d904346a9bd

길 이미지를 위에 덮음으로써, 사실상 8장의 스프라이트로 모든 방의 형태를 구현 가능하도록 만들었다.



[문제 2] 방에 위치한 유닛의 인수에 따라, 배치를 위한 이미지 컴포넌트 과다

1c828268f5dc3f8650bbd58b3688756efe00

이런 식으로 방의 인원을 최대 4명까지 배치해야하는데, 이걸 단순히 이미지로 처리하면



a14110ad0e29782dbe6f5a6cee91a9c5200d77a85bb65a86003cf87cd8ccc5dec3b4


위와 같이 4가지의 배치가 존재하며, 총 8개의 이미지 컴포넌트가 필요할 것이다.

하지만 단순히 작성만 해도 자동으로 정렬해주는 컴포넌트가 있다...

바로 텍스트 관련 컴포넌트 + 스프라이트 에셋



a14110ad0e29782b9f435b4df29f343336d99edf365e25a2d83afeb4

이를 이용하여 단순 텍스트 나열을 통해서, 유닛의 위치 정보를 쉽고 간단하게 정렬 가능하게 만들었다.



만든 UI의 동작을 확인해 보면,


7cf3c028e2f206a26d81f6e64689716c96

7ff3c028e2f206a26d81f6e1428970652e


캐릭터 이동에 따라 위치가 변화하며, 정렬도 잘 되는것을 확인 가능하다.



a05c04ad231eb450baff5a48c25cdfd999f7cf0ec2ac6ffb7fa6c553476b9d2f


방을 클리어하면(보라색), 클리어 한 방과 인접한 방들에 접근 가능해 지므로, 접근 가능(오렌지 색)한 방을 강조해주는 것 또한 확인 가능하다...

이제 클릭 시에 해당 방으로 인원들을 텔포하는 기능을 넣어주면, 미니맵은 얼추 완료된다...