Programación de diálogos interactivos para NPCs en videojuegos

Clase 45 de 60Curso Avanzado de Creación de RPGs con Unity

Resumen

Para implementar el diálogo de un personaje NPC necesitas añadir el texto y un disparador que te permita iniciarlo.

Aquí puedes el código que puedes utilizar para lograrlo.

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

public class NPCDialog : MonoBehaviour
{
/**** Variables. ****/
public string dialog;
private DialogManager manager;
private bool playerInTheZone;

// Start is called before the first frame update
void Start()
{
    manager = FindObjectOfType<DialogManager>();
}

// Update is called once per frame
void Update()
{
    if (playerInTheZone && Input.GetKeyDown(KeyCode.Return))
    {
        manager.ShowDialog(dialog);
    }
}

private void OnTriggerEnter2D(Collider2D collision)
{
    if (collision.gameObject.tag.Equals("Player"))
    {
        playerInTheZone = true;
    }
}

}

Contribución creada con los aportes de: Wandy Rafael Santana Evangelista.