это мой код. после нажатия следующей кнопки переслать разговор. когда я добрался до последнего разговора, я переназначил index = 0, чтобы вернуться к первому разговору и скрыть его. Но когда он столкнулся со мной. Если он отображается снова, диалоговое окно index = 0 не отображается, то нажатие следующей кнопки продолжится с index = 1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class dialog : MonoBehaviour
{
public Text text;
public string[] sentence;
public int index;
public float typedelay;
public GameObject buttonnext;
public static dialog instance;
public bool active = true;
private void Awake()
{
makeinstance();
}
public void Start()
{
StartCoroutine(Type());
}
private void Update()
{
if (text.text == sentence[index])
{
buttonnext.SetActive(true);
}
}
IEnumerator Type()
{
if(active)
{
foreach (char letter in sentence[index].ToCharArray())
{
text.text += letter;
yield return new WaitForSeconds(typedelay);
}
}
}
public void nextchat()
{
buttonnext.SetActive(false);
if(index < sentence.Length - 1)
{
index++;
text.text = "";
StartCoroutine(Type());
}else
{
text.text ="" ;
buttonnext.SetActive(false);
index = 0;
active = false;
}
}
void makeinstance()
{
if(instance == null)
{
instance = this;
}
}
}