public static XElement ToXml <T>(string name, T value, HGXml.SerializationRules <T> rules)
    {
        XElement xelement = new XElement(name);

        rules.serializer(xelement, value);
        return(xelement);
    }
 // Token: 0x0600018B RID: 395 RVA: 0x00008E0D File Offset: 0x0000700D
 public static bool FromXml <T>([NotNull] XElement element, ref T value, HGXml.SerializationRules <T> rules)
 {
     if (rules == null)
     {
         Debug.LogFormat("Serialization rules not defined for type <{0}>", new object[]
         {
             typeof(T).Name
         });
         return(false);
     }
     return(rules.deserializer(element, ref value));
 }
    // Token: 0x0600018D RID: 397 RVA: 0x00008E54 File Offset: 0x00007054
    public static bool FromXml <T>([NotNull] XElement element, [NotNull] Action <T> setter, [NotNull] HGXml.SerializationRules <T> rules)
    {
        T obj = default(T);

        if (HGXml.FromXml <T>(element, ref obj, rules))
        {
            setter(obj);
            return(true);
        }
        return(false);
    }
 // Token: 0x06000190 RID: 400 RVA: 0x0000902A File Offset: 0x0000722A
 public static void Deserialize <T>(this XElement element, ref T dest, HGXml.SerializationRules <T> rules)
 {
     HGXml.FromXml <T>(element, ref dest, rules);
 }