오늘 진행한 작업은 아래와 같다.
Player가 근접 무기 또는 원거리 무기를 처음 얻었을 때, 해당 무기를 갖고있다는 것을 표현하기 위해 Player의 양손에 근접 무기와 원거리 무기 Sprite를 추가하였다.

위 사진은 Player가 근접 무기를 얻었을 때의 모습.
Z축 기준으로 살짝 기울여놨다.

위 사진은 Player가 원거리 무기를 얻었을 때의 모습.

위 사진은 Player가 근접, 원거리 무기를 둘 다 얻었을 때의 모습이다.
기본적으로 Player가 오른쪽을 보고 있고, 왼손에 원거리 무기, 오른손에 근접 무기를 들고 있다.
Player가 움직이면서 좌, 우 방향 전환을 할 때 손에 있는 무기 또한 방향에 따라 Sprite가 좌, 우 바뀌어야한다.
Player가 왼쪽을 보고 있을 때도 왼손에 원거리, 오른손에 근접 무기가 있어야 하므로 Player가 X축으로 반전되었을 때, 각 무기 Sprite가 어느 위치에 있어야 하는지 좌표를 확인하여 Player의 방향에 따라 Position과 Rotation을 변경해주었다.



Player의 방향에 따라 무기 Sprite도 잘 바뀌는 것을 볼 수 있다.
이전에는 임시로 화면 오른쪽에 능력 Button을 배치하여 누를 때마다 해당 능력의 Level이 1씩 올라가도록 구현을 했었다.
해당 기능을 Player가 레벨업할 때마다 능력 선택창을 보여주고 해당 창에서 능력 하나를 선택하여 레벨업하는 방식으로 변경했다.

기존 능력 Button을 사용하여 레벨업 UI를 구성했고, 레벨이 오르면 위와 같이 창이 하나 뜨는데 3개의 능력 중 하나를 선택하면 된다.
보여지는 3개의 능력은 각 능력을 선택했을 때 얻게 되는 효과를 보여주고 있다.
예를 들어, Player는 현재 근접 무기(삽)의 Level이 1인데, 위 능력 선택창에서 삽을 선택하면 Level 2가 되고 데미지가 0.5 증가 및 회전체가 1개 추가된다는 의미이다.
각 능력의 Icon, Level, Name, Description은 ItemData Scriptable Object를 만들면서 추가한 값이므로 UI에 적용하기만 하면 됐다.

아이템 설명에 {0}처럼 format을 지정하여 보여줄 능력의 Text를 설정할 때 Level별 Damage와 Count 값을 설정했다.
현재 존재하는 능력은 총 5가지이므로 이 중에 3개를 랜덤하게 선택하여 UI에 보여주는 함수를 작성했다.

Level이 최대치인 능력은 Heal Item으로 변경하여 화면에 보이지않도록 했다.
평소에는 저 레벨업 Panel을 안 보이게 했다가 Player가 경험치를 모두 채워 레벨업하면 Panel이 보여지고 능력을 하나 선택하면 된다.
이 때, 게임 시간이 계속 흘러가면 안 되므로 timeScale 값을 조절하여 능력 선택 시에는 게임 시간을 멈추고 선택하면 다시 흐르는 기능을 추가했다.

활성화된 Item에 대해서만 레벨업에 따른 능력치 상승 Text를 Update해주었다.

원래는 게임 시작 시 Player가 직업을 선택하고, 각 직업의 기본 고유 능력이 존재하여 적을 처치하여 레벨업이 가능하다.
하지만 아직 Player의 직업 선택 기능이 구현 안 되어있어서 일단 Player가 근접 무기 Level 1을 기본적으로 갖고 시작하는 방향으로 테스트를 진행하였다.

테스트를 위해 레벨업에 필요한 경험치를 낮춰놓고 진행했다.