mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-05-27 10:15:50 +08:00
part 2
This commit is contained in:
@@ -12,34 +12,41 @@ public sealed class ScriptEmitTest
|
||||
new LineBreakTriviaSymbol(),
|
||||
new AvatarInstructionListSymbol(new("钟离"), [new SpaceTriviaSymbol()], new(
|
||||
[
|
||||
new WalkSymbol(WalkDirection.Backward, [new DoubleSymbol(0.1)], [new CommaTriviaSymbol()]),
|
||||
new SkillSymbol(true, [new HoldSymbol()], [new CommaTriviaSymbol()]),
|
||||
new WaitSymbol([new DoubleSymbol(0.3)], [new CommaTriviaSymbol()]),
|
||||
new WalkSymbol(WalkDirection.Forward, [new DoubleSymbol(0.1)], []),
|
||||
new WalkSymbol(WalkDirection.Backward, [new DoubleSymbol(0.1)], [], new CommaTriviaSymbol()),
|
||||
new SkillSymbol(true, [new HoldSymbol()], [new SpaceTriviaSymbol()], new CommaTriviaSymbol()),
|
||||
new WaitSymbol([new DoubleSymbol(0.3)], [new SpaceTriviaSymbol()], new CommaTriviaSymbol()),
|
||||
new WalkSymbol(WalkDirection.Forward, [new DoubleSymbol(0.1)], [new SpaceTriviaSymbol()], default),
|
||||
])),
|
||||
new LineBreakTriviaSymbol(),
|
||||
new AvatarInstructionListSymbol(new("芙宁娜"), [new SpaceTriviaSymbol()], new(
|
||||
[
|
||||
new SkillSymbol(true, [new CommaTriviaSymbol()]),
|
||||
new BurstSymbol(true, [])
|
||||
new SkillSymbol(true, [], new CommaTriviaSymbol()),
|
||||
new BurstSymbol(true, [new SpaceTriviaSymbol()], default)
|
||||
])),
|
||||
new LineBreakTriviaSymbol(),
|
||||
new AvatarInstructionListSymbol(new("行秋"), [new SpaceTriviaSymbol()], new(
|
||||
[
|
||||
new SkillSymbol(true, [new CommaTriviaSymbol()]),
|
||||
new BurstSymbol(true, [new CommaTriviaSymbol()]),
|
||||
new SkillSymbol(true, []),
|
||||
new SkillSymbol(true, [], new CommaTriviaSymbol()),
|
||||
new BurstSymbol(true, [new SpaceTriviaSymbol()], new CommaTriviaSymbol()),
|
||||
new SkillSymbol(true, [new SpaceTriviaSymbol()], default),
|
||||
])),
|
||||
]);
|
||||
|
||||
Console.WriteLine(scriptUnit.Emit(new DefaultSymbolEmitter()));
|
||||
Console.WriteLine(scriptUnit.Emit(new SymbolEmitter()));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Test()
|
||||
public void TestParse()
|
||||
{
|
||||
ReadOnlySpan<char> raw = "ABCDEF;GHIJKL\r\nMNOPQR\nSTUVWX\rYZ\r\n";
|
||||
SymbolParser parser = new();
|
||||
ScriptUnit scriptUnit = parser.Parse(raw);
|
||||
ReadOnlySpan<char> raw = """
|
||||
// 测试注释
|
||||
钟离 s(0.1),e(hold),wait(0.3),w(0.1)
|
||||
芙宁娜 e,q
|
||||
|
||||
行秋 e,q,e
|
||||
""";
|
||||
ScriptUnit scriptUnit = SymbolParser.Parse(raw);
|
||||
|
||||
Console.WriteLine(scriptUnit.Emit(new SymbolEmitter()));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user