김김김의 게임개발
  • 유니티 게임개발 - 최종 프로젝트 #12
    2023년 11월 08일 21시 30분 49초에 업로드 된 글입니다.
    작성자: noun06

    스테이지 언락 기능을 만들었고 이를 플레이어 데이터와 연결하였다.

    우선 PlayerData 클래스에 bool 형식의 리스트를 선언하고 3개의 레벨의 언락 여부를 초기화하였다.

    이 정보를 LevelSelector 클래스에서 접근하여 수정된 데이터에 따라 언락된 스테이지를 관리하는 메서드를 만들었다.

    기존 UI를 처리하는 클래스에서 씬 전환을 호출하던 것을이 메서드로 넘겼다.

    주의해야 했던 점은 Enum 형식인 Scene을  문자열 형식으로 형변환을 하고 인덱스 접근처리를 하는 것이었다.

     

    다음으로 StageUnlockManager 클래스를 만들고 내부에서 클리어 여부를 조절하고 저장하는 역할을 하게 하였다.

    이 메서드는 게임 매니저에서 스테이지가 클리어되었을 때 호출된다.

    직관적인 테스트를 위해서 클래스를 새로 만들었지만 사실 게임 매니저 내부에서 기능을 수행해도 될 것 같다.

    이를 통해 전반적인 게임 진행 로직을 완성하였다.

     

    다음으로 팀원들이 만든 전투 기능들을 함께 합치는 작업을 진행하였다.

    크고 작은 버그들이 나왔지만 많은 부분들을 같이 해결하였다.

    특히 몬스터가 씬 전환 시 파괴되는 버그가 치명적이었다.

    아는 내가 이전에 만든 싱글톤 사운드 매니저를 팀원이 실수로 몬스터 프리팹에 넣었기 때문에 발생하였다.

    이전 씬에서 사운드 매니저 객체가 존재하면 새로운 것을 Destroy하기 때문에 몬스터 오브젝트가 사라졌던 것이다.

     

    마지막으로 시네머신과 타임라인을 활용해서 엔딩 씬 제작을 시작하였고 추후에 마지막 스테이지와 연결하면 될 것이다.  

     

    댓글