Почему не меняется цвет буквы при запуске

Не меняется цвет слово текст при запуске проекта, но при нажатии на букву цвет меняется. Похожая ситуация была при наследовании->дочерний класс некорректно показывал значение, т.е показывал значение отца, а не дочернего класса. Тогда я исправил(или это был костыль?) тем что назначил свойство в отцовском классе абстрактным. Но как тут исправить?

using System.Text.RegularExpressions;
using TMPro;
using UnityEngine;

public class GameManager : MonoBehaviour
{
    public string goalWord;
    public string currentWord;
    private int wordIndex;
    private string targetWord;
    private Color32 alphaColor = new Color32(255, 255, 255, 0);

    [SerializeField] TextMeshProUGUI _text;
    void Start()
    {
        _text.SetText("Этот *текст* должен поменять цвет");
        AutoGenerateTextMission(_text.text);
    }
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            GetClickedWord();
        }
    }
    void AutoGenerateTextMission(string text)
    {
        goalWord = Regex.Match(_text.text, @"\*(.*)\*").Groups[1].Value;
        for (int i = 0; i < _text.GetTextInfo(_text.text).wordCount; i++)
        {
            if (_text.GetTextInfo(_text.text).wordInfo[i].GetWord().Equals(goalWord))
            {
                wordIndex = i;
            }
        }
        ChangeWordColor();
    }
    void GetClickedWord()
    {
        wordIndex = TMP_TextUtilities.FindIntersectingWord(_text, Input.mousePosition, null);

        if (wordIndex != -1)
        {
            targetWord = _text.textInfo.wordInfo[wordIndex].GetWord();
            ChangeWordColor();
            Debug.Log("Clicked on " + targetWord);
        }

    }
    void ChangeWordColor()
    {
        TMP_WordInfo info = _text.textInfo.wordInfo[wordIndex];

        for (int i = 0; i < info.characterCount; ++i)
        {
            int charIndex = info.firstCharacterIndex + i;
            int meshIndex = _text.textInfo.characterInfo[charIndex].materialReferenceIndex;
            int vertexIndex = _text.textInfo.characterInfo[charIndex].vertexIndex;

            Color32[] vertexColors = _text.textInfo.meshInfo[meshIndex].colors32;
            vertexColors[vertexIndex + 0] = alphaColor;
            vertexColors[vertexIndex + 1] = alphaColor;
            vertexColors[vertexIndex + 2] = alphaColor;
            vertexColors[vertexIndex + 3] = alphaColor;
        }
        Debug.Log(info.GetWord());
        _text.UpdateVertexData(TMP_VertexDataUpdateFlags.All);
    }
}

Ответы (0 шт):