Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
 internal static Node SavePermissionList(List<Command> cmds)
 {
     Node node = new Node();
     foreach (Command command in cmds) {
         node.Add(new Node(command.name));
     } return node;
 }
Esempio n. 6
0
 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;
 }