private static XElement GetMaidData(Maid maid) { BackUpMaidData orNullMaidData = BackUpData.GetOrNullMaidData(maid); bool flag = orNullMaidData == null; XElement result; if (flag) { result = null; } else { XElement xelement = new XElement("Maid"); XElement xelement2 = new XElement("GUID"); xelement2.Add(maid.status.guid); XElement xelement3 = new XElement("Name"); xelement3.Add(maid.status.fullNameJpStyle); xelement.Add(xelement2); xelement.Add(xelement3); XElement xelement4 = new XElement("Slots"); foreach (int slotID in orNullMaidData.slotDataDic.Keys) { XElement slotData = SceneDataManager.GetSlotData(maid, slotID); bool flag2 = slotData == null; if (!flag2) { xelement4.Add(slotData); } } xelement.Add(xelement4); result = xelement; } return(result); }
public static BackUpSlotData GetOrNullMaidSlotData(Maid maid, int slotNo) { BackUpSlotData result = null; BackUpMaidData orNullMaidData = BackUpData.GetOrNullMaidData(maid); bool flag = orNullMaidData != null && orNullMaidData.slotDataDic.ContainsKey(slotNo); if (flag) { result = orNullMaidData.slotDataDic[slotNo]; } return(result); }
public static void RestoreMaid(Maid maid) { BackUpMaidData orNullMaidData = BackUpData.GetOrNullMaidData(maid); bool flag = orNullMaidData == null; if (!flag) { List <int> list = new List <int>(orNullMaidData.slotDataDic.Keys); foreach (int slotNo in list) { BackUpData.RestoreSlot(maid, slotNo); } BackUpData.maidDataDic.Remove(maid); } }
public static void RefreshMaid(Maid maid) { BackUpMaidData orNullMaidData = BackUpData.GetOrNullMaidData(maid); bool flag = orNullMaidData == null; if (!flag) { foreach (int slotNo in orNullMaidData.slotDataDic.Keys) { BackUpData.RefreshSlot(maid, slotNo); } orNullMaidData.slotDataDic = (from kvp in orNullMaidData.slotDataDic where kvp.Value.objectDataDic.Count != 0 select kvp).ToDictionary((KeyValuePair <int, BackUpSlotData> kvp) => kvp.Key, (KeyValuePair <int, BackUpSlotData> kvp) => kvp.Value); } }
public static void RestoreSlot(Maid maid, int slotNo) { BackUpSlotData orNullMaidSlotData = BackUpData.GetOrNullMaidSlotData(maid, slotNo); bool flag = orNullMaidSlotData == null; if (!flag) { List <GameObject> list = new List <GameObject>(orNullMaidSlotData.objectDataDic.Keys); foreach (GameObject gameObject in list) { bool flag2 = !gameObject; if (!flag2) { BackUpData.RestoreObject(maid, slotNo, gameObject); } } BackUpMaidData orNullMaidData = BackUpData.GetOrNullMaidData(maid); orNullMaidData.slotDataDic.Remove(slotNo); } }