public static void PauseNode() { var a = new PauseNode(new NumberLiteral(2)); var b = SerializationUtil.Reserialize(a); Assert.AreEqual(a, b); }
public async Task ParseAsync(XmlReader reader, IParsingContext parsingContext, IParentParsingContext parentParsingContext) { var myContext = new TextParentParsingContext(); await elementParser.ParseAsync(reader, parsingContext, myContext, Settings); var parsedText = myContext.ParsedText; parsingContext.SceneContext.Reset(); if (string.IsNullOrWhiteSpace(parsedText)) { var node = new PauseNode(myContext.When); parentParsingContext.AddNode(node); return; } var value = int.Parse(parsedText); if (value <= 0) { parsingContext.LogError(reader, "O tempo de espera precisa ser maior que zero."); return; } if (value > 5000) { parsingContext.LogError(reader, "O tempo de espera não pode ser maior que 5000."); return; } var timedPauseNode = new TimedPauseNode(TimeSpan.FromMilliseconds(value), myContext.When); parentParsingContext.AddNode(timedPauseNode); }