private IEnumerator displayCharByChar()
        {
            // Display char by char
            var maker = new RichTextSubStringMaker(instructions[0].message);

            while (maker.IsConsumable() && !skipAnimation)
            {
                maker.Consume();
                textWrapper.setText(maker.GetRichText());
                yield return(new WaitForSeconds(displayTimePerCharacter));
            }


            textWrapper.setText(instructions[0].message);

            float timeToWait = additionalDisplayTime;

            while (timeToWait > 0f && !skipAnimation)
            {
                timeToWait -= Time.deltaTime;
                yield return(null);
            }

            // End char by char
        }
    public static string RichTextSubString(this string text, int length)
    {
        var m = new RichTextSubStringMaker(text);

        for (int i = 0; i < length; i++)
        {
            m.Consume();
        }
        return(m.GetRichText());
    }
    public static int RichTextLength(this string text)
    {
        var m      = new RichTextSubStringMaker(text);
        var length = 0;

        while (m.IsConsumable())
        {
            if (m.Consume())
            {
                length += 1;
            }
        }
        return(length);
    }