// Token: 0x060019D1 RID: 6609 RVA: 0x0007B5B0 File Offset: 0x000797B0
            public static RunReport.PlayerInfo Generate(PlayerCharacterMasterController playerCharacterMasterController)
            {
                CharacterMaster      characterMaster = playerCharacterMasterController.master;
                Inventory            inventory       = characterMaster.inventory;
                PlayerStatsComponent component       = playerCharacterMasterController.GetComponent <PlayerStatsComponent>();

                RunReport.PlayerInfo playerInfo = new RunReport.PlayerInfo();
                playerInfo.networkUser     = playerCharacterMasterController.networkUser;
                playerInfo.master          = characterMaster;
                playerInfo.bodyIndex       = BodyCatalog.FindBodyIndex(characterMaster.bodyPrefab);
                playerInfo.killerBodyIndex = characterMaster.GetKillerBodyIndex();
                StatSheet.Copy(component.currentStats, playerInfo.statSheet);
                playerInfo.itemAcquisitionOrder = inventory.itemAcquisitionOrder.ToArray();
                for (ItemIndex itemIndex = ItemIndex.Syringe; itemIndex < ItemIndex.Count; itemIndex++)
                {
                    playerInfo.itemStacks[(int)itemIndex] = inventory.GetItemCount(itemIndex);
                }
                playerInfo.equipment = new EquipmentIndex[inventory.GetEquipmentSlotCount()];
                uint num = 0u;

                while ((ulong)num < (ulong)((long)playerInfo.equipment.Length))
                {
                    playerInfo.equipment[(int)num] = inventory.GetEquipment(num).equipmentIndex;
                    num += 1u;
                }
                return(playerInfo);
            }
 // 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: 0x060019D3 RID: 6611 RVA: 0x0007B76C File Offset: 0x0007996C
            public static bool FromXml(XElement element, ref RunReport.PlayerInfo playerInfo)
            {
                playerInfo = new RunReport.PlayerInfo();
                XElement xelement = element.Element("name");

                if (xelement != null)
                {
                    xelement.Deserialize(ref playerInfo.name);
                }
                string   bodyName  = playerInfo.bodyName;
                XElement xelement2 = element.Element("bodyName");

                if (xelement2 != null)
                {
                    xelement2.Deserialize(ref bodyName);
                }
                playerInfo.bodyName = bodyName;
                string   killerBodyName = playerInfo.killerBodyName;
                XElement xelement3      = element.Element("killerBodyName");

                if (xelement3 != null)
                {
                    xelement3.Deserialize(ref killerBodyName);
                }
                playerInfo.killerBodyName = killerBodyName;
                XElement xelement4 = element.Element("statSheet");

                if (xelement4 != null)
                {
                    xelement4.Deserialize(ref playerInfo.statSheet);
                }
                XElement xelement5 = element.Element("itemAcquisitionOrder");

                if (xelement5 != null)
                {
                    xelement5.Deserialize(ref playerInfo.itemAcquisitionOrder);
                }
                XElement xelement6 = element.Element("itemStacks");

                if (xelement6 != null)
                {
                    xelement6.Deserialize(ref playerInfo.itemStacks, RunReport.PlayerInfo.itemStacksRules);
                }
                XElement xelement7 = element.Element("equipment");

                if (xelement7 != null)
                {
                    xelement7.Deserialize(ref playerInfo.equipment, RunReport.PlayerInfo.equipmentRules);
                }
                XElement xelement8 = element.Element("localPlayerIndex");

                if (xelement8 != null)
                {
                    xelement8.Deserialize(ref playerInfo.localPlayerIndex);
                }
                XElement xelement9 = element.Element("userProfileFileName");

                if (xelement9 != null)
                {
                    xelement9.Deserialize(ref playerInfo.userProfileFileName);
                }
                return(true);
            }