private Node ElementToNode(XElement element) { Node node = new Node(); switch (element.Name.LocalName) { case "bool": node.Value = bool.Parse(element.Value); break; case "byte": node.Value = byte.Parse(element.Value); break; case "short": node.Value = short.Parse(element.Value); break; case "int": node.Value = int.Parse(element.Value); break; case "long": node.Value = long.Parse(element.Value); break; case "float": node.Value = float.Parse(element.Value); break; case "double": node.Value = double.Parse(element.Value); break; case "string": node.Value = element.Value; break; case "list": foreach (XElement e in element.Elements()) { node.Add(ElementToNode(e)); } break; case "compound": foreach (XElement e in element.Elements()) { node[GetElementName(e)] = ElementToNode(e); } break; default: throw new FormatException("Can't parse '" + element.Name.LocalName + "'."); } return(node); }
private Node TagToNode(Tag tag) { Node node = new Node(); switch (tag.Type) { case TagType.Byte: node.Value = (byte)tag; break; case TagType.Short: node.Value = (short)tag; break; case TagType.Int: node.Value = (int)tag; break; case TagType.Long: node.Value = (long)tag; break; case TagType.Float: node.Value = (float)tag; break; case TagType.Double: node.Value = (double)tag; break; case TagType.Byte_Array: node.Value = (byte[])tag; break; case TagType.String: node.Value = (string)tag; break; case TagType.List: foreach (Tag t in tag) { node.Add(TagToNode(t)); } break; case TagType.Compound: foreach (Tag t in tag) { node[t.Name] = TagToNode(t); } break; } return(node); }
private Node ElementToNode(XElement element) { Node node = new Node(); switch (element.Name.LocalName) { case "bool": node.Value = bool.Parse(element.Value); break; case "byte": node.Value = byte.Parse(element.Value); break; case "short": node.Value = short.Parse(element.Value); break; case "int": node.Value = int.Parse(element.Value); break; case "long": node.Value = long.Parse(element.Value); break; case "float": node.Value = float.Parse(element.Value); break; case "double": node.Value = double.Parse(element.Value); break; case "string": node.Value = element.Value; break; case "list": foreach (XElement e in element.Elements()) node.Add(ElementToNode(e)); break; case "compound": foreach (XElement e in element.Elements()) node[GetElementName(e)] = ElementToNode(e); break; default: throw new FormatException("Can't parse '"+element.Name.LocalName+"'."); } return node; }
private Node TagToNode(Tag tag) { Node node = new Node(); switch (tag.Type) { case TagType.Byte: node.Value = (byte)tag; break; case TagType.Short: node.Value = (short)tag; break; case TagType.Int: node.Value = (int)tag; break; case TagType.Long: node.Value = (long)tag; break; case TagType.Float: node.Value = (float)tag; break; case TagType.Double: node.Value = (double)tag; break; case TagType.Byte_Array: node.Value = (byte[])tag; break; case TagType.String: node.Value = (string)tag; break; case TagType.List: foreach (Tag t in tag) node.Add(TagToNode(t)); break; case TagType.Compound: foreach (Tag t in tag) node[t.Name] = TagToNode(t); break; } return node; }
internal static Node SavePermissionList(List<Command> cmds) { Node node = new Node(); foreach (Command command in cmds) { node.Add(new Node(command.name)); } return node; }
private Node SavePrivileges() { Node node = new Node(); node.MakeList(); if (canJoin) { node.Add(new Node("join")); } if (canJoinFull) { node.Add(new Node("joinfull")); } if (canBuild) { node.Add(new Node("build")); } if (canChat) { node.Add(new Node("chat")); } return node; }