private static void Init()
 {
     RunReport.runReportsFolder = Application.dataPath + "/RunReports/";
     HGXml.Register <RunReport>(new HGXml.Serializer <RunReport>(RunReport.ToXml), new HGXml.Deserializer <RunReport>(RunReport.FromXml));
     HGXml.Register <RunReport.PlayerInfo>(new HGXml.Serializer <RunReport.PlayerInfo>(RunReport.PlayerInfo.ToXml), new HGXml.Deserializer <RunReport.PlayerInfo>(RunReport.PlayerInfo.FromXml));
     HGXml.Register <RunReport.PlayerInfo[]>(new HGXml.Serializer <RunReport.PlayerInfo[]>(RunReport.PlayerInfo.ArrayToXml), new HGXml.Deserializer <RunReport.PlayerInfo[]>(RunReport.PlayerInfo.ArrayFromXml));
 }
        // Token: 0x060019C5 RID: 6597 RVA: 0x0007B1FC File Offset: 0x000793FC
        public static bool Save([NotNull] RunReport runReport, [NotNull] string fileName)
        {
            string text = RunReport.FileNameToPath(fileName);
            bool   result;

            try
            {
                if (!Directory.Exists(RunReport.runReportsFolder))
                {
                    Directory.CreateDirectory(RunReport.runReportsFolder);
                }
                XDocument xdocument = new XDocument();
                xdocument.Add(HGXml.ToXml <RunReport>("RunReport", runReport));
                xdocument.Save(text);
                result = true;
            }
            catch (Exception ex)
            {
                Debug.LogFormat("Could not save RunReport {0}: {1}", new object[]
                {
                    text,
                    ex.Message
                });
                result = false;
            }
            return(result);
        }
 // Token: 0x060019D4 RID: 6612 RVA: 0x0007B8D4 File Offset: 0x00079AD4
 public static void ArrayToXml(XElement element, RunReport.PlayerInfo[] playerInfos)
 {
     element.RemoveAll();
     for (int i = 0; i < playerInfos.Length; i++)
     {
         element.Add(HGXml.ToXml <RunReport.PlayerInfo>("PlayerInfo", playerInfos[i]));
     }
 }
    // 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: 0x060019C0 RID: 6592 RVA: 0x0007AEEC File Offset: 0x000790EC
 public static void ToXml(XElement element, RunReport runReport)
 {
     element.RemoveAll();
     element.Add(HGXml.ToXml <string>("version", "2"));
     element.Add(HGXml.ToXml <string>("gameModeName", runReport.gameModeName));
     element.Add(HGXml.ToXml <GameResultType>("gameResultType", runReport.gameResultType));
     element.Add(HGXml.ToXml <ulong>("seed", runReport.seed));
     element.Add(HGXml.ToXml <Run.FixedTimeStamp>("snapshotTime", runReport.snapshotTime));
     element.Add(HGXml.ToXml <RuleBook>("ruleBook", runReport.ruleBook));
     element.Add(HGXml.ToXml <RunReport.PlayerInfo[]>("playerInfos", runReport.playerInfos));
 }
 // Token: 0x060019D5 RID: 6613 RVA: 0x0007B908 File Offset: 0x00079B08
 public static bool ArrayFromXml(XElement element, ref RunReport.PlayerInfo[] playerInfos)
 {
     playerInfos = (from e in element.Elements()
                    where e.Name == "PlayerInfo"
                    select e).Select(delegate(XElement e)
     {
         RunReport.PlayerInfo result = null;
         HGXml.FromXml <RunReport.PlayerInfo>(e, ref result);
         return(result);
     }).ToArray <RunReport.PlayerInfo>();
     return(true);
 }
 // Token: 0x060019D2 RID: 6610 RVA: 0x0007B688 File Offset: 0x00079888
 public static void ToXml(XElement element, RunReport.PlayerInfo playerInfo)
 {
     element.RemoveAll();
     element.Add(HGXml.ToXml <string>("name", playerInfo.name));
     element.Add(HGXml.ToXml <string>("bodyName", playerInfo.bodyName));
     element.Add(HGXml.ToXml <string>("killerBodyName", playerInfo.killerBodyName));
     element.Add(HGXml.ToXml <StatSheet>("statSheet", playerInfo.statSheet));
     element.Add(HGXml.ToXml <ItemIndex[]>("itemAcquisitionOrder", playerInfo.itemAcquisitionOrder));
     element.Add(HGXml.ToXml <int[]>("itemStacks", playerInfo.itemStacks, RunReport.PlayerInfo.itemStacksRules));
     element.Add(HGXml.ToXml <EquipmentIndex[]>("equipment", playerInfo.equipment, RunReport.PlayerInfo.equipmentRules));
     element.Add(HGXml.ToXml <int>("localPlayerIndex", playerInfo.localPlayerIndex));
     element.Add(HGXml.ToXml <string>("userProfileFileName", playerInfo.userProfileFileName));
 }
Beispiel #8
0
 // Token: 0x06001869 RID: 6249 RVA: 0x000742D8 File Offset: 0x000724D8
 static ItemCatalog()
 {
     ItemCatalog.DefineItems();
     HGXml.Register <ItemIndex[]>(delegate(XElement element, ItemIndex[] obj)
     {
         element.Value = string.Join(" ", from v in obj
                                     select v.ToString());
     }, delegate(XElement element, ref ItemIndex[] output)
     {
         output = element.Value.Split(new char[]
         {
             ' '
         }).Select(delegate(string v)
         {
             ItemIndex result;
             if (!Enum.TryParse <ItemIndex>(v, false, out result))
             {
                 return(ItemIndex.None);
             }
             return(result);
         }).ToArray <ItemIndex>();
         return(true);
     });
 }
Beispiel #9
0
 // Token: 0x06001893 RID: 6291 RVA: 0x00069E13 File Offset: 0x00068013
 public RuleBook()
 {
     HGXml.Register <RuleBook>(new HGXml.Serializer <RuleBook>(RuleBook.ToXml), new HGXml.Deserializer <RuleBook>(RuleBook.FromXml));
     this.SetToDefaults();
 }
Beispiel #10
0
 // Token: 0x06001CF6 RID: 7414 RVA: 0x0007C051 File Offset: 0x0007A251
 static StatSheet()
 {
     HGXml.Register <StatSheet>(new HGXml.Serializer <StatSheet>(StatSheet.ToXml), new HGXml.Deserializer <StatSheet>(StatSheet.FromXml));
 }
    // Token: 0x0600018E RID: 398 RVA: 0x00008E80 File Offset: 0x00007080
    static HGXml()
    {
        HGXml.Register <int>(delegate(XElement element, int contents)
        {
            element.Value = TextSerialization.ToStringInvariant(contents);
        }, delegate(XElement element, ref int contents)
        {
            int num;
            if (TextSerialization.TryParseInvariant(element.Value, out num))
            {
                contents = num;
                return(true);
            }
            return(false);
        });
        HGXml.Register <uint>(delegate(XElement element, uint contents)
        {
            element.Value = TextSerialization.ToStringInvariant(contents);
        }, delegate(XElement element, ref uint contents)
        {
            uint num;
            if (TextSerialization.TryParseInvariant(element.Value, out num))
            {
                contents = num;
                return(true);
            }
            return(false);
        });
        HGXml.Register <ulong>(delegate(XElement element, ulong contents)
        {
            element.Value = TextSerialization.ToStringInvariant(contents);
        }, delegate(XElement element, ref ulong contents)
        {
            ulong num;
            if (TextSerialization.TryParseInvariant(element.Value, out num))
            {
                contents = num;
                return(true);
            }
            return(false);
        });
        HGXml.Register <bool>(delegate(XElement element, bool contents)
        {
            element.Value = (contents ? "1" : "0");
        }, delegate(XElement element, ref bool contents)
        {
            int num;
            if (TextSerialization.TryParseInvariant(element.Value, out num))
            {
                contents = (num != 0);
                return(true);
            }
            return(false);
        });
        HGXml.Register <float>(delegate(XElement element, float contents)
        {
            element.Value = TextSerialization.ToStringInvariant(contents);
        }, delegate(XElement element, ref float contents)
        {
            float num;
            if (TextSerialization.TryParseInvariant(element.Value, out num))
            {
                contents = num;
                return(true);
            }
            return(false);
        });
        HGXml.Register <double>(delegate(XElement element, double contents)
        {
            element.Value = TextSerialization.ToStringInvariant(contents);
        }, delegate(XElement element, ref double contents)
        {
            double num;
            if (TextSerialization.TryParseInvariant(element.Value, out num))
            {
                contents = num;
                return(true);
            }
            return(false);
        });
        HGXml.Register <string>(delegate(XElement element, string contents)
        {
            element.Value = contents;
        }, delegate(XElement element, ref string contents)
        {
            contents = element.Value;
            return(true);
        });
        MethodInfo method = typeof(HGXml).GetMethod("RegisterEnum");

        foreach (TypeInfo typeInfo in from t in typeof(HGXml).Assembly.DefinedTypes
                 where t.IsEnum
                 select t)
        {
            method.MakeGenericMethod(new Type[]
            {
                typeInfo
            }).Invoke(null, Array.Empty <object>());
        }
    }
 // Token: 0x0600018C RID: 396 RVA: 0x00008E43 File Offset: 0x00007043
 public static bool FromXml <T>([NotNull] XElement element, [NotNull] Action <T> setter)
 {
     return(HGXml.FromXml <T>(element, setter, HGXml.SerializationRules <T> .defaultRules));
 }
 // Token: 0x0600018A RID: 394 RVA: 0x00008DFF File Offset: 0x00006FFF
 public static bool FromXml <T>([NotNull] XElement element, ref T value)
 {
     return(HGXml.FromXml <T>(element, ref value, HGXml.SerializationRules <T> .defaultRules));
 }
 public static XElement ToXml <T>(string name, T value)
 {
     return(HGXml.ToXml <T>(name, value, HGXml.SerializationRules <T> .defaultRules));
 }
 // 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);
 }
 // Token: 0x0600018F RID: 399 RVA: 0x00009020 File Offset: 0x00007220
 public static void Deserialize <T>(this XElement element, ref T dest)
 {
     HGXml.FromXml <T>(element, ref dest);
 }