From e41fbbeb89f8dc2ef4e0195ff338994535aac330 Mon Sep 17 00:00:00 2001 From: lumpn Date: Mon, 10 Apr 2023 19:13:31 +0800 Subject: [PATCH] Added TODOs --- .../Private/StevesUI/TypewriterTextWidget.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Source/StevesUEHelpers/Private/StevesUI/TypewriterTextWidget.cpp b/Source/StevesUEHelpers/Private/StevesUI/TypewriterTextWidget.cpp index 80e8c06..ea4d295 100644 --- a/Source/StevesUEHelpers/Private/StevesUI/TypewriterTextWidget.cpp +++ b/Source/StevesUEHelpers/Private/StevesUI/TypewriterTextWidget.cpp @@ -118,9 +118,9 @@ void UTypewriterTextWidget::PlayNextLinePart(float Speed) LineText->SetText(FText()); - const FString& currentLineString = RemainingLinePart; - CalculateWrappedString(currentLineString); + CalculateWrappedString(RemainingLinePart); + // TODO Jonas: Promote maxLines to variable. Might want maxLines = 1 for text before choices. int maxLines = 3; if (NumberOfLines > maxLines) { @@ -129,6 +129,7 @@ void UTypewriterTextWidget::PlayNextLinePart(float Speed) for (int i = 0; i < Segments.Num(); i++) { const auto& segment = Segments[i]; + // TODO Jonas: Mark line break segments in CalculateWrappedString instead. if (segment.Text.Equals(FString(TEXT("\n")))) { currentLine++; @@ -143,12 +144,14 @@ void UTypewriterTextWidget::PlayNextLinePart(float Speed) } } - int lastTerminator = currentLineString.FindLastCharByPredicate(IsSentenceTerminator, numLetters); + // TODO Jonas: Find lesser terminators like commas or spaces if no sentence terminator can be found. + int lastTerminator = RemainingLinePart.FindLastCharByPredicate(IsSentenceTerminator, numLetters); if (lastTerminator != INDEX_NONE) { int count = lastTerminator + 1; - const FString& shortenedString = currentLineString.Left(count); + const FString& shortenedString = RemainingLinePart.Left(count); + // TODO Jonas: Clean up CurrentRunName = ""; CurrentLetterIndex = 0; CachedLetterIndex = 0;