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; } } }