public static void SaveData(SaveItemBase dataObj, bool isSaveChild = true) { var dataType = dataObj.GetType(); List <SaveItemBase> saveChildItems = new List <SaveItemBase>(); SaveRoot saveRoot = new SaveRoot(); saveRoot._SaveKey = dataObj._SaveFileName; if (string.IsNullOrEmpty(dataObj._SaveFileName)) { Debug.LogError("SaveKey is Empty:" + dataObj.ToString()); } saveRoot._ChildNode = GetNodesForSave(dataObj, saveChildItems); SaveRoot(saveRoot); if (isSaveChild) { while (saveChildItems.Count > 0) { var childItem = saveChildItems[0]; saveChildItems.RemoveAt(0); SaveRoot saveChild = new SaveRoot(); saveChild._SaveKey = childItem._SaveFileName; saveChild._ChildNode = GetNodesForSave(childItem, saveChildItems); SaveRoot(saveChild); } } }
public static void LoadData(SaveItemBase dataObj, bool isLoadChild) { var dataType = dataObj.GetType(); string loadStr = LocalSave.Load(dataObj._SaveFileName); LoadNodes(dataObj, 0, loadStr, isLoadChild); }