mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-11-12 04:12:59 +08:00
fix: TextContentParser 特殊情况
This commit is contained in:
parent
ee5c6a687e
commit
1ee3c44d26
@ -817,7 +817,7 @@ export class TextContentParser {
|
||||
return pointer;
|
||||
}
|
||||
const time = parseInt(param);
|
||||
this.addWaitRenderable(end, time);
|
||||
this.addWaitRenderable(end + 1, time);
|
||||
return end;
|
||||
}
|
||||
|
||||
@ -830,19 +830,19 @@ export class TextContentParser {
|
||||
}
|
||||
if (/^\d+$/.test(param)) {
|
||||
const num = Number(param);
|
||||
this.addIconRenderable(end, num as AllNumbers);
|
||||
this.addIconRenderable(end + 1, num as AllNumbers);
|
||||
} else {
|
||||
if (/^X\d+$/.test(param)) {
|
||||
// 额外素材
|
||||
const num = Number(param.slice(1));
|
||||
this.addIconRenderable(end, num as AllNumbers);
|
||||
this.addIconRenderable(end + 1, num as AllNumbers);
|
||||
} else {
|
||||
const num = texture.idNumberMap[param as AllIds];
|
||||
if (num === void 0) {
|
||||
logger.warn(59, param);
|
||||
return end;
|
||||
}
|
||||
this.addIconRenderable(end, num);
|
||||
this.addIconRenderable(end + 1, num);
|
||||
}
|
||||
}
|
||||
return end;
|
||||
@ -986,8 +986,10 @@ export class TextContentParser {
|
||||
this.resolved += char;
|
||||
}
|
||||
|
||||
this.addTextNode(text.length, false);
|
||||
return this.splitLines(width);
|
||||
if (this.nodePointer < text.length) {
|
||||
this.addTextNode(text.length, false);
|
||||
}
|
||||
return this.textNodes;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1403,28 +1405,3 @@ export function buildFont(
|
||||
) {
|
||||
return `${italic ? 'italic ' : ''}${weight} ${size}px "${family}"`;
|
||||
}
|
||||
|
||||
window.parser = new TextContentParser(
|
||||
{
|
||||
fillStyle: '#fff',
|
||||
fontFamily: 'Verdana',
|
||||
fontSize: 16,
|
||||
fontItalic: false,
|
||||
fontWeight: 400
|
||||
},
|
||||
{
|
||||
font: new Font('Verdana', 16),
|
||||
breakChars: new Set(''),
|
||||
keepLast: false,
|
||||
interval: 20,
|
||||
lineHeight: 0,
|
||||
wordBreak: WordBreak.Space,
|
||||
textAlign: TextAlign.Left,
|
||||
ignoreLineStart: new Set(),
|
||||
ignoreLineEnd: new Set(),
|
||||
fillStyle: '#fff',
|
||||
strokeStyle: '#fff',
|
||||
strokeWidth: 2,
|
||||
width: 200
|
||||
}
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user