03/12 본캠프 #54

guno park·2024년 3월 12일
0

본캠프

목록 보기
54/77

Dialouge 시스템 구상하기

대화 시스템 구성과 진행도 저장을 위한 구상

퀘스트라는 개념으로 현재 진행도를 저장해볼 수 있으며, 다른 대화를 진행하는데 제한사항을 걸어둘 수도 있음.

대화도 자연스레 진행되긴 하나 아직 문제점이 많음

문제점

  1. 퀘스트 개념으로 묶인 대화가 어느 시점에서 완료되는 지 정해야함.
    지역변수로 임시로 저장한 다음 대화가 완료되었을 때 완료로 바꾸고 변수들을 초기화하는 방법도 있음.

  2. json으로 저장할 때 바로 사용할 수 있게 클래스를 통째로 저장함. 사실 이 프로젝트에서는 문제가 된다고 생각하지 않지만(파일이 존재할 시 로드해서 곧장 사용하고, 존재하지 않으면 똑같은 방식으로 하나 만들기 때문에), 다른 프로젝트를 한다고하면 저장용 클래스를 따로 만들어야 할 것.

  3. 대화 진행이 한 번 시작하면 대화 끝날때까지 알아서 돌아가게 구성되어 있는데, 아직 예측되는 문제는 없지만 방법이 좋지 않다고 생각 중.

Addlistener에 파라미터 추가하기

Addlistener는 UnityEvent로 void 형태라 그냥 달아서는 파라미터를 추가할 수 없다.
람다식으로 작성해야 가능하다.

btn3.onClick.AddListener(()=> StartDialogue(btn3.GetComponentInChildren<TextMeshProUGUI>().text));

좋은 예시는 아니지만 이렇게 작성하면 파라미터를 추가할 수 있다.

0개의 댓글