마지막으로 DialogueGameManager 메서드들을 설명하겠습니다.
1. Start()
private void Start()
{
capsule.SetActive(false);
}
기능: 게임 시작 시 초기 설정을 수행합니다.
설명:
capsule 오브젝트를 비활성화하여 대화가 시작되기 전에는 보이지 않도록 합니다.
2. Update()
private void Update()
{
if (dialogueManager.CheckFinishDialogue(true))
{
panel.SetActive(false);
}
}
기능: 매 프레임마다 호출되며 대화 상태를 체크하여 UI를 업데이트합니다.
설명:
dialogueManager.CheckFinishDialogue(true)를 호출하여 대화가 끝났는지 확인합니다.
대화가 끝났다면 panel UI를 비활성화합니다. 이를 통해 대화가 완료된 후 대화 UI가 사라지게 합니다.
3. SkipBtn()
public void SkipBtn()
{
if (dialogueManager.CheckTalking(true))
{
dialogueManager.SkipDialogue();
capsule.SetActive(true);
}
}
기능: 대화를 스킵하는 버튼의 기능을 처리합니다.
설명:
dialogueManager.CheckTalking(true)를 호출하여 현재 대화 중인지 확인합니다.
대화 중일 경우 dialogueManager.SkipDialogue()를 호출하여 대화를 스킵합니다.
이후 capsule 오브젝트를 활성화하여 대화가 끝났음을 시각적으로 나타냅니다.
4.ShowEffect()
private IEnumerator ShowEffect()
{
yield return new WaitForSeconds(0.1f);
}
기능: 특정 효과를 보여주기 위한 코루틴입니다 (현재 사용되지 않음).
설명:
단순히 0.1초 대기하는 코루틴입니다. 현재 구현에서는 아무런 효과가 적용되지 않습니다.
5. AutoBtn()
public void AutoBtn()
{
if (dialogueManager.CheckTalking(true))
{
dialogueManager.ToggleAutoDialogue();
}
}
기능: 자동 대화 모드를 토글하는 버튼의 기능을 처리합니다.
설명:
dialogueManager.CheckTalking(true)를 호출하여 현재 대화 중인지 확인합니다.
대화 중일 경우 dialogueManager.ToggleAutoDialogue()를 호출하여 자동 대화 모드를 켜거나 끕니다.
이상으로 Dialogue System이 마무리 되었습니다.
이렇게 긴 글은 처음 적어서 오타나 문제점이 많을 수 있습니다.
언제든지 댓글로 피드백 부탁 드립니다
또한 문제가 있으시다면 댓글로 적어주시면 감사하겠습니다!

'Unity' 카테고리의 다른 글
| Unity SpringJoint2D (0) | 2024.12.09 |
|---|---|
| Unity HingeJoint2D (0) | 2024.12.08 |
| Dialogue System 2 - DialogueManager의 메서드 설명 (0) | 2024.11.22 |
| Dialogue System (0) | 2024.11.21 |
| Unity Attribute (5번째 / 5번째) (0) | 2024.10.19 |