TIL - 18

Chu_uhC·2023년 12월 5일
0

📄 23.12.04✍ 사운드 매니저

사운드 매니저를 빠르게 만들어보았다.
3D와 2D 음향이 있는데 2D는 거리, 방향 상관없이 동일하고 3D는 거리방향이 존재하는 것 같았다.
나중에 꼭 좀더알아보자

📄 23.12.05✍ 사운드 매니저

MVVM으로 만들었다. 구조가 좋았다. 유지관리가 편해보였다.

📄 23.12.06✍ 사운드 매니저

다만들었다 기분이 좋았다.

📄 23.12.07✍ 사운드 매니저

NineToZero.png

  • 건물의 생성은 하나의 절차로만 생성되는 것이 아닌 순서대로 절차들을 진행해야지 비로소 완성이 됩니다.
    하지만 플레이어가 초기에 사용할 건물들을 미리 만들어둘 필요가 생겼고, 현재의 알고리즘으로는 불가능하였습니다.

📌 문제의 알고리즘과 분석

2.png

문제점 1.

마우스로 입력하지 않은 값은 건설이 불가능하다.

문제점 2.

건설 가능 여부를 확인 후 청사진은 필수적으로 설치가 된다.

초기에 만들어줄 건물은 마우스로 입력하는 게 아닌 코드로 좌표를 입력해줘야 하며, 건설이 가능한지 판단 후 청사진이 아닌 실제 건물이 생성되어야 했지만 불가능 했습니다.

📌 어떻게 해결할 것인가?

문제점 1 분석.

건설 위치를 선정하는 값은 마우스 입력과 상관없이 Vector3의 값만 있으면 가능하다.

문제점 2 분석.

건설을 시도하기 전에도 건설 가능 여부를 판단할 시점이 존재한다.

두 가지 문제점의 공통적인 부분은 하나의 기능이 만들어낸 값을 오로지 내부에서만 처리하고 처리하는 과정도 전혀 다른 기능이었습니다.

그리하여 값을 전달하는 방식으로 변경하고 하나의 함수의 기능을 나누기로 했습니다.

📌 결과

3.png

코드뿐만이 아닌 다른 방식으로도 값만 주면 건설 여부를 판단할 수 있게 되었고, 판단 여부를 콜백을 받고 어떤 행동을 할지도 자유롭게 설정 가능하게 되었습니다.

profile
ChuNyan

0개의 댓글