상세 컨텐츠

본문 제목

[개발일지] 대화 시스템 개발: 대화 트리거 구현

카테고리 없음

by 강자이 2024. 5. 23. 09:28

본문

 

DialogueTrigger 클래스

DialogueTrigger 클래스는 게임 오브젝트에 부착된 대화 정보를 기반으로 대화를 시작하는 기능을 제공합니다. Start 메서드에서 게임 오브젝트가 활성화될 때마다 Trigger 메서드를 호출하여 DialogueSystem을 통해 대화를 시작합니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DialogueTrigger : MonoBehaviour
{
    public Dialogue info;

    void Start()
    {
        Trigger();
    }
    
    //버튼을 누를 때마다 Begin을 실행
    //처음 켜졌을 때 Begin을 한번 실행하고 실행시켜야하는데,
    //Begin만 5번 실행됨
    
    public void Trigger()
    {
        var system = FindObjectOfType<DialogueSystem>();
        system.Begin(info);
    }
}

 

  1. 대화 시스템 개발 시작
    • DialogueTrigger 클래스 작성: 대화 시작을 트리거하는 기능 구현
      • Start 메서드에서 Trigger 메서드를 호출하여 처음 게임 오브젝트가 활성화될 때 대화를 시작하도록 설정함.
      • Trigger 메서드는 DialogueSystem의 Begin 메서드를 호출하여 info에 저장된 대화 정보를 전달함.
  2. 버그 수정
    • 버튼을 누를 때마다 Begin 메서드가 실행되도록 설정했으나, 게임 오브젝트가 처음 켜질 때만 한 번 실행되어야 하는 버그를 발견함.
    • Start 메서드에서 Trigger 메서드를 호출하도록 설정하여, 게임 오브젝트가 활성화될 때 한 번만 Begin 메서드가 실행되도록 수정함.
  3. 테스트 및 검토
    • 게임 내에서 DialogueTrigger 클래스가 제대로 작동하는지 테스트하고, Begin 메서드가 여러 번 실행되는 문제를 해결함.
    • 버튼을 누를 때마다 정확히 Begin 메서드가 실행되도록 확인함.
  4. 추가 사항
    • DialogueSystem 클래스가 필요한 경우, Begin 메서드의 구현 방식을 확인하고 대화 정보를 적절히 처리할 수 있도록 준비함.
    • 다양한 대화 트리거 기능을 추가할 수 있는 여지를 고려하여, 필요한 추가적인 기능을 구현할 계획을 세움.

결론

위의 개발일지는 DialogueTrigger 클래스를 통해 게임 내에서 대화 시스템을 트리거하는 기능을 구현하는 과정을 기록한 것입니다. 이를 통해 초기 설정 및 버그 수정 과정을 기록하여, 향후 개발 과정에서 도움이 될 수 있도록 하였습니다.

 
 

댓글 영역