//private void Update()
    //{
    //    fitToSize();
    //}

    void LateUpdate()
    {
        if (!sizeFit)
        {
            fitToSize();
            sizeFit = true;
        }

        float growCurveDuration = sizeCurve[sizeCurve.length - 1].time;

        progress = !advancingText.IsComplete ? advancingText.Progress
            : progress + (advancingText.getAdvanceSpeed() * Time.deltaTime);
        float fontSize = initialFontSize;

        string processedText = "";

        processedText += $"<size={initialFontSize}>";
        for (int i = 0; i < parsedText.Length; i++)
        {
            if (i == highlightChar)
            {
                if (rhymeStarted)
                {
                    fontSize      *= highlightSizeMult;
                    processedText += $"<color=#{ColorUtility.ToHtmlStringRGBA(rhymeHighlightColor)}><size={fontSize}><i>";
                }
                else
                {
                    processedText += $"<alpha=#00>";
                }
            }
            var newChar = parsedText[i];
            if (i <= progress - 1)     //Characer is visible
            {
                if (i < highlightChar) //Stop adjusting size at highlight char
                {
                    float positionOnGrowCurve = (progress - 1) - i;
                    if (positionOnGrowCurve < growCurveDuration)
                    {
                        //Character i is visible
                        int charSize = (int)(sizeCurve.Evaluate(positionOnGrowCurve) * (float)fontSize);
                        processedText += $"<size={charSize.ToString()}>";
                    }
                }
                else if (i == highlightChar)
                {
                    //print(Time.time - highlightReachedTime);
                    //print(highlightSizeCurve.Evaluate(Time.time - highlightReachedTime));
                    int highlightSize = (int)(highlightSizeCurve.Evaluate(Time.time - highlightReachedTime) * (float)fontSize);
                    processedText += $"<size={highlightSize.ToString()}>";
                }
            }
            processedText += newChar;
        }
        tmProComponent.text = processedText;
    }
Esempio n. 2
0
    void Start()
    {
        textComp         = GetComponent <TMP_Text>();
        textPlayer       = GetComponent <AdvancingText>();
        defaultTextSpeed = textPlayer.getAdvanceSpeed();

        SetDialogue(DatingSimHelper.getSelectedCharacter().getLocalizedIntroDialogue());

        textPlayer.enabled = false;
        Invoke("EnableTextPlayer", introTextDelay);
    }
Esempio n. 3
0
    void Start()
    {
        textComp         = GetComponent <TMP_Text>();
        textPlayer       = GetComponent <AdvancingText>();
        defaultTextSpeed = textPlayer.getAdvanceSpeed();

        SetDialogue(DatingSimHelper.getSelectedCharacter().getLocalizedIntroDialogue());

        if (introTextForceCompletionTime > 0f)
        {
            float newSpeed = textPlayer.getTotalVisibleChars() / introTextForceCompletionTime;
            textPlayer.setAdvanceSpeed(newSpeed);
        }

        textPlayer.enabled = false;
        Invoke("EnableTextPlayer", introTextDelay);
    }
 private void Awake()
 {
     textComp         = GetComponent <TMP_Text>();
     textPlayer       = GetComponent <AdvancingText>();
     defaultTextSpeed = textPlayer.getAdvanceSpeed();
 }