Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
MessageAction.cs
Go to the documentation of this file.
2using System.IO;
3
5
7{
8 private bool _Terminate;
9
10 internal override void Compile(Compiler compiler)
11 {
13 if (compiler.Recurse())
14 {
16 compiler.ToParent();
17 }
18 }
19
20 internal override bool CompileAttribute(Compiler compiler)
21 {
22 string localName = compiler.Input.LocalName;
23 string value = compiler.Input.Value;
24 if (Ref.Equal(localName, compiler.Atoms.Terminate))
25 {
26 _Terminate = compiler.GetYesNo(value);
27 return true;
28 }
29 return false;
30 }
31
32 internal override void Execute(Processor processor, ActionFrame frame)
33 {
34 switch (frame.State)
35 {
36 case 0:
37 {
39 processor.PushOutput(output);
40 processor.PushActionFrame(frame);
41 frame.State = 1;
42 break;
43 }
44 case 1:
45 {
47 if (_Terminate)
48 {
50 }
51 frame.Finished();
52 break;
53 }
54 }
55 }
56}
static CultureInfo InvariantCulture
static string Xslt_Terminate
Definition SR.cs:2132
Definition SR.cs:7
static bool Equal(string strA, string strB)
Definition Ref.cs:5
static XsltException Create(string res, params string[] args)
void CompileAttributes(Compiler compiler)
override bool CompileAttribute(Compiler compiler)
override void Compile(Compiler compiler)
override void Execute(Processor processor, ActionFrame frame)