03/11 본캠프 #53

guno park·2024년 3월 11일
0

본캠프

목록 보기
53/77

Dialouge 시스템 구상하기

초안

코루틴을 사용하여 한 대화 시퀸스가 끝날 때까지 돌아가는 것으로 생각하였음.
=> 버튼 입력 대기를 받는 동작에 지장이 생김.
=> 코루틴말고 서로 연계되는 메서드들로 구성을 변경해봄.

현재

NPC를 클릭하면 대화가 시작 => 확인 버튼 클릭 시 현재 배정되어있는 대화의 타입에 따라 다른 메서드로 연결됨. => 대화 데이터에 다음에 대한 정보가 없다면 대화 종료, 그 다음의 대화이벤트로 넘어감.

문제점

  1. 대화 수행에 오류가 많고 조작에도 변경해야할 점이 많음.
  2. 대화를 구성하는 DB가 의미가 없음.
  3. 만약 대화의 결과를 저장하여 다른 곳에서 사용해야 한다면 갈아 엎어야할 가능성이 큼.

퀘스트 시스템에 대해 튜터님과 이야기를 나누어 보았고, 가능하다면 적용하는 것이 코드면에서도 DB면에서도 매끄러운 진행이 될 것이라 생각함.

심화 개인과제 피드백

  • 코딩 컨벤션을 지킬 필요가 있으며, 닷넷이나 유니티에서 권장하는 방법을 추천합니다.
    C# 코드 스타일 가이드 만들기
    코딩 컨벤션임 깃 컨벤션 아님.

  • 사용하지 않은 using 은 제거 하면 불필요한 바이너리가 실수로 포함되는걸 방지할수 있습니다.

  • GetComponent 함수를 사용할때 반환된 Component가 유효한지 항상 확인 해야합니다.

    gameObject.GetComponent().SetTrigger("GoalTouch");
    _scoreText = GameObject.Find("Score").GetComponent();
    _scoreText.text = totalScore.ToString();
    tryGetComponent를 사용한다던지 해서 내가 찾는 컴포넌트가 존재하는지, 맞는지에 대해 점검해 보아야한다.

0개의 댓글