public void ReadMemXml(XmlReader reader) { int idx = 0, size = 0; byte[] mem = null; while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "idx": idx = reader.ReadElementContentAsInt(); break; case "size": size = reader.ReadElementContentAsInt(); break; case "bytes": if (size == 0) { size = 4096; } mem = new byte[size]; reader.ReadElementContentAsBase64(mem, 0, size); break; } } } reader.Close(); OnMemChunkUpdate(new MemChunkEventArgs(idx, size, mem)); }
public void ReadPlayerXml(XmlReader reader) { int id = 0, size = 0; byte[] buffer = null; string name = ""; while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "id": id = reader.ReadElementContentAsInt(); break; case "size": size = reader.ReadElementContentAsInt(); break; case "name": buffer = new byte[size]; int s = reader.ReadElementContentAsBase64(buffer, 0, size); name = Encoding.ASCII.GetString(buffer, 0, s); break; } } } reader.Close(); OnNewPlayer(new PlayerEventArgs(id, name)); }
public void ReadWinnerXml(XmlReader reader) { int id = 0, size = 0; string name = ""; byte[] buffer = null; bool haveWinner = true; while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "winner": haveWinner = reader.GetAttribute("noWinner") == "false"; break; case "id": id = reader.ReadElementContentAsInt(); break; case "size": size = reader.ReadElementContentAsInt(); break; case "name": buffer = new byte[size]; int s = reader.ReadElementContentAsBase64(buffer, 0, size); name = Encoding.ASCII.GetString(buffer, 0, s); break; } } } reader.Close(); OnWinnerResult(new WinnerResultEventArgs(id, name, haveWinner)); }