Ошибка диалога NPC

Рейтинг: -6Ответов: 1Опубликовано: 29.04.2023

Я что-то не понимаю ошибку. Я написал код:

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

[System.Serializable]
public class Dialog : MonoBehaviour
{
   public GameObject DialogPrefab;
   public Text dialog;
   public string[] message;
   void Start()
   {
    message[0] = "Привет, Лис! Как у тебя дела? Пришла, чтобы выполнить мои задания? :)";
    message[1] = "Привет, Лягушка! Я пришла, чтобы добиться моей жизни! :D";
    DialogPrefab.SetActive(false);
   }

  private void OnTriggerEnter2D(Collider2D collision)
  {
    if (collision.tag == "Player")
    {
        DialogPrefab.SetActive(true);
        dialog.text = message[0];
        if (Input.GetKeyDown(KeyCode.E))
        {
            dialog.text = message[1];
        }
    }
  }
}

А он мне выдаёт такую ошибку диалога с NPC

введите сюда описание изображения

Как сделать, чтобы я подошёл к NPC и появился диалог? А то у меня диалог торчит на моём экране. введите сюда описание изображения

Хоть в скрипте есть сообщение в void Start и так далее.

Ответы

▲ 0Принят

Массив message у тебя имеет размер 0, а ты пытаешься изменить значения 1го и 2го элемента

Я бы посоветовал тебе назначать фразы в инспекторе. Там как раз можно расширить массив