private void ChangeDNATextModeAndBreakDown(float fltMovement)
 {
     //Set
     fltLocalPositionY = transform.localPosition.y + fltMovement;
     //Increase index
     intIndex += 1;
     //Change DNA text break down mode
     enumDNATextBreakDown = enumDNATextBreakDowns.Distance;
 }
    private void Update()
    {
        //Check if animation is finished
        if (DNAAnimationFinishedScript.AnimationFinished)
        {
            //Check the break down
            switch (enumDNATextBreakDown)
            {
            default:     //enumDNATextBreakDowns.Timer
                //Check the timer
                if (fltWaitingAnimationTime > 0f)
                {
                    //Subtract
                    fltWaitingAnimationTime -= Time.deltaTime;
                    //Check if time up
                    if (fltWaitingAnimationTime <= 0f)
                    {
                        //Check DNA text mode
                        switch (enumDNATextMode)
                        {
                        case enumDNATextModes.RegularLine:         //"Just characters"
                            //Check if not empty
                            if (TheText.text.Length > 0)
                            {
                                //Check for white square
                                if (TheText.text.Substring(TheText.text.Length - 1, 1) == strWHITE_SQUARE)
                                {
                                    //Remove last character square
                                    TheText.text = TheText.text.Substring(0, TheText.text.Length - 1);
                                }
                            }
                            //Add a character
                            TheText.text += strText.Substring(intIndex, 1) + strWHITE_SQUARE;
                            //Increase index
                            intIndex += 1;
                            //Check next string
                            if (strText.Substring(intIndex, 1) == strWAITING_AT_END)
                            {
                                //Set DNA text mode
                                enumDNATextMode = enumDNATextModes.WaitingAtEnd;
                                //Set
                                intNumberOfWaitsAtEndOfLine = 0;
                                //Reset
                                blnWhiteSquareBlink = true;
                                //Reset timer
                                fltWaitingAnimationTime = TimeWaitingAtEnd;
                                //Increase index
                                intIndex += 1;
                            }
                            else if (blnCheckForGoingDownOneLine(intIndex))
                            {
                                //Change DNA text mode and break down
                                ChangeDNATextModeAndBreakDown(OneLineYMovement);
                            }
                            else
                            {
                                //Reset timer
                                fltWaitingAnimationTime = TimeBetweenCharacters;
                            }
                            break;

                        case enumDNATextModes.WaitingAtEnd:         //"$"
                            //Check blink
                            if (blnWhiteSquareBlink)
                            {
                                //Remove last character square
                                TheText.text = TheText.text.Substring(0, TheText.text.Length - 1);
                            }
                            else
                            {
                                //Show white square at end
                                TheText.text += strWHITE_SQUARE;
                            }
                            //Change blink variable
                            blnWhiteSquareBlink = !blnWhiteSquareBlink;
                            //Increase
                            intNumberOfWaitsAtEndOfLine += 1;
                            //Check if number of waits is up
                            if (intNumberOfWaitsAtEndOfLine == intBlinkCount)
                            {
                                //Check if index is not greater than the string text length
                                if (intIndex < strText.Length)
                                {
                                    //Check if has a return line
                                    while (blnHasAReturnLine())
                                    {
                                        //Add to text
                                        TheText.text += strText.Substring(intIndex, 1);
                                        //Increase index
                                        intIndex += 1;
                                    }
                                    //Check next character in the string text
                                    if (blnCheckForGoingDownTwoLines(intIndex))
                                    {
                                        //Change DNA text mode and break down
                                        ChangeDNATextModeAndBreakDown(TwoLineYMovement);
                                    }
                                    else if (blnCheckForGoingDownOneLine(intIndex))
                                    {
                                        //Change DNA text mode and break down
                                        ChangeDNATextModeAndBreakDown(OneLineYMovement);
                                    }
                                    else
                                    {
                                        //Set DNA text mode
                                        enumDNATextMode = enumDNATextModes.RegularLine;
                                        //Reset timer
                                        fltWaitingAnimationTime = TimeBetweenCharacters;
                                    }
                                }
                                else
                                {
                                    //Reset timer
                                    fltWaitingAnimationTime = TimeWaitingAtEnd;
                                }
                            }
                            else
                            {
                                //Reset timer
                                fltWaitingAnimationTime = TimeWaitingAtEnd;
                            }
                            break;
                        }
                    }
                }
                break;

            case enumDNATextBreakDowns.Distance:     // "/" and "|"
                //Move up
                if (transform.MoveTowardsCheck(new Vector3(transform.localPosition.x, fltLocalPositionY, 0f), LineMovementSpeed * Time.deltaTime, false))
                {
                    //Change break down mode
                    enumDNATextBreakDown = enumDNATextBreakDowns.Timer;
                    //Set DNA text mode
                    enumDNATextMode = enumDNATextModes.RegularLine;
                    //Reset timer
                    fltWaitingAnimationTime = TimeBetweenCharacters;
                }
                break;
            }
        }
    }