问题修复

This commit is contained in:
2025-12-23 20:43:46 +08:00
parent 40c6c7124e
commit 4025bc61a4
4 changed files with 154 additions and 52 deletions
@@ -94,9 +94,8 @@ namespace AibisDream.FixSystem
// 显示标题
ShowTitle(token.lineInfo.character.GetActorName());
// 显示文本
TypewriterCore textItemTypewriter = AddText(token.lineInfo.lineText);
textItemTypewriter.SetTypewriterSpeed(GetTextSpeedValue());
textItemTypewriter.onTextShowed.AddListener(() => OnTextShown(token, textItemTypewriter));
TypewriterCore textItemTypewriter = AddText(token);
token.TextStart();
// 强制更新布局
LayoutRebuilder.ForceRebuildLayoutImmediate(textRoot);
@@ -114,13 +113,13 @@ namespace AibisDream.FixSystem
syncToken.TextShown();
}
private TypewriterByCharacter AddText(string newLine)
private TypewriterByCharacter AddText(LineSyncToken token)
{
// 生成新文本组件
var textItem = Instantiate(_textItemPrefab, textRoot);
var textItemTypewriter = textItem.GetComponent<TypewriterByCharacter>();
// 估算文本高度
var newLineNum = EstimateLineNum(newLine);
var newLineNum = EstimateLineNum(token.lineInfo.lineText);
var oldLineNum = CalcTotalLineNum();
if (newLineNum + oldLineNum > maxLineNum)
{
@@ -129,7 +128,9 @@ namespace AibisDream.FixSystem
_lineQueue.Enqueue(textItemTypewriter);
// 播放文本
textItemTypewriter.ShowText(newLine);
textItemTypewriter.SetTypewriterSpeed(GetTextSpeedValue());
textItemTypewriter.onTextShowed.AddListener(() => OnTextShown(token, textItemTypewriter));
textItemTypewriter.ShowText(token.lineInfo.lineText);
return textItemTypewriter;
}