• Почему Length массива 0, хотя у него есть элементы?

    @Dafeds
    Korsakovlev, так-с, попробуй так:
    [SerializeField] private GameObject DialoguePanel;
        [SerializeField] private Text DialogueText;
        [SerializeField] private string[] Usually_dialogue;
        private int index;
    
        [SerializeField] private GameObject player;
        [SerializeField] private GameObject contButton;
        [SerializeField] private float WordSpeed;
        private bool PlayerIsClose;
        [SerializeField] private bool StopDialogue = false;
    
        private void Start()
        {
            Quest_script = Quest_Panel.GetComponent();
        }
        void Update()
        {
            if (Input.GetKeyDown(KeyCode.E) && !PlayerIsClose)
            {
                if (DialoguePanel.activeSelf == false)
                {
                    zeroText();
                    DialoguePanel.SetActive(true);
                    StartCoroutine(Typing());
                    player.GetComponent().Stay(false);
                }
            }
        }
        public void zeroText()
        {
            DialogueText.text = "";
    
            if (StopDialogue == true)
            {
                DialoguePanel.SetActive(false);
            }
        }
        IEnumerator Typing()
        {
            foreach (char letter in Usually_dialogue[index].ToCharArray())
            {
                DialogueText.text += letter;
                yield return new WaitForSeconds(WordSpeed);
            }
            contButton.SetActive(true);
        }
        public void NextLine()
        {
            contButton.SetActive(false);
            Debug.Log(Usually_dialogue.Length);
    
            if (index < Usually_dialogue.Length - 1)
            {
                index++;
                zeroText();
                StartCoroutine(Typing());
            }
            else
            {
                DialogueStop();
            }
        }
        private void OnTriggerEnter2D(Collider2D other)
        {
            if (other.CompareTag("Player"))
            {
                player = other.gameObject;
                PlayerIsClose = true;
            }
        }
    
        private void OnTriggerExit2D(Collider2D other)
        {
            if (other.CompareTag("Player"))
            {
                PlayerIsClose = false;
                zeroText();
            }
        }
    
        public void DialogueStop()
        {
            zeroText();
            DialoguePanel.SetActive(false);
        }

    Некоторые строки кода я у себя вырезал, так что будь внимателен