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)); }
// 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); }); }
// 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(); }
// 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); }