public bool Save(int slot_no) { if (Comm_UserDatas.Instance.User_basic.Starttime == 0) { return(false); } SaveHeaderFmt saveHeaderFmt = new SaveHeaderFmt(); saveHeaderFmt.SetPropertie(); List <SaveTarget> saveTarget = getSaveTarget(saveHeaderFmt); byte[] bytes = null; using (MemoryStream memoryStream = new MemoryStream()) { using (XmlWriter xmlWriter = XmlWriter.Create(memoryStream)) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement(getTableName(slot_no)); foreach (SaveTarget item in saveTarget) { DataContractSerializer dataContractSerializer = (!item.IsCollection) ? new DataContractSerializer(item.ClassType) : new DataContractSerializer(item.ClassType, item.TableName + "s", string.Empty); dataContractSerializer.WriteObject(xmlWriter, item.Data); xmlWriter.Flush(); } xmlWriter.WriteEndElement(); xmlWriter.Flush(); bytes = memoryStream.ToArray(); } } File.WriteAllBytes(getMemberFilePath(slot_no), bytes); cacheHeader[slot_no] = saveHeaderFmt; return(true); }
public SaveDataManager() { this.Elements = null; this.Header = new Dictionary <int, SaveHeaderFmt>(); this.cacheHeader = new Dictionary <int, SaveHeaderFmt>(); for (int i = 1; i <= this.slotCount; i++) { this.Header.Add(i, null); SaveHeaderFmt headerInfo = this.getHeaderInfo(i); this.cacheHeader.Add(i, headerInfo); } }
private List <SaveTarget> getSaveTarget(SaveHeaderFmt header) { List <SaveTarget> list = new List <SaveTarget>(); Comm_UserDatas instance = Comm_UserDatas.Instance; list.Add(new SaveTarget(typeof(SaveHeaderFmt), header, SaveHeaderFmt.tableaName)); list.Add(new SaveTarget(typeof(Mem_basic), instance.User_basic, Mem_basic.tableName)); list.Add(new SaveTarget(typeof(Mem_newgame_plus), instance.User_plus, Mem_newgame_plus.tableName)); list.Add(new SaveTarget(typeof(Mem_record), instance.User_record, Mem_record.tableName)); list.Add(new SaveTarget(typeof(Mem_trophy), instance.User_trophy, Mem_trophy.tableName)); list.Add(new SaveTarget(typeof(Mem_turn), instance.User_turn, Mem_turn.tableName)); list.Add(new SaveTarget(typeof(Mem_deckpractice), instance.User_deckpractice, Mem_deckpractice.tableName)); list.Add(new SaveTarget(typeof(List <Mem_book>), Enumerable.ToList <Mem_book>(instance.Ship_book.get_Values()), "ship_book")); list.Add(new SaveTarget(typeof(List <Mem_book>), Enumerable.ToList <Mem_book>(instance.Slot_book.get_Values()), "slot_book")); list.Add(new SaveTarget(typeof(List <Mem_deck>), Enumerable.ToList <Mem_deck>(instance.User_deck.get_Values()), Mem_deck.tableName)); list.Add(new SaveTarget(typeof(List <Mem_esccort_deck>), Enumerable.ToList <Mem_esccort_deck>(instance.User_EscortDeck.get_Values()), Mem_esccort_deck.tableName)); list.Add(new SaveTarget(typeof(List <Mem_furniture>), Enumerable.ToList <Mem_furniture>(instance.User_furniture.get_Values()), Mem_furniture.tableName)); list.Add(new SaveTarget(typeof(List <Mem_kdock>), Enumerable.ToList <Mem_kdock>(instance.User_kdock.get_Values()), Mem_kdock.tableName)); list.Add(new SaveTarget(typeof(List <Mem_mapcomp>), Enumerable.ToList <Mem_mapcomp>(instance.User_mapcomp.get_Values()), Mem_mapcomp.tableName)); list.Add(new SaveTarget(typeof(List <Mem_mapclear>), Enumerable.ToList <Mem_mapclear>(instance.User_mapclear.get_Values()), Mem_mapclear.tableName)); list.Add(new SaveTarget(typeof(List <Mem_material>), Enumerable.ToList <Mem_material>(instance.User_material.get_Values()), Mem_material.tableName)); list.Add(new SaveTarget(typeof(List <Mem_missioncomp>), Enumerable.ToList <Mem_missioncomp>(instance.User_missioncomp.get_Values()), Mem_missioncomp.tableName)); list.Add(new SaveTarget(typeof(List <Mem_ndock>), Enumerable.ToList <Mem_ndock>(instance.User_ndock.get_Values()), Mem_ndock.tableName)); list.Add(new SaveTarget(typeof(List <Mem_quest>), Enumerable.ToList <Mem_quest>(instance.User_quest.get_Values()), Mem_quest.tableName)); list.Add(new SaveTarget(typeof(List <Mem_questcount>), Enumerable.ToList <Mem_questcount>(instance.User_questcount.get_Values()), Mem_questcount.tableName)); list.Add(new SaveTarget(instance.User_ship.get_Values())); list.Add(new SaveTarget(typeof(List <Mem_slotitem>), Enumerable.ToList <Mem_slotitem>(instance.User_slot.get_Values()), Mem_slotitem.tableName)); list.Add(new SaveTarget(typeof(List <Mem_tanker>), Enumerable.ToList <Mem_tanker>(instance.User_tanker.get_Values()), Mem_tanker.tableName)); list.Add(new SaveTarget(typeof(List <Mem_useitem>), Enumerable.ToList <Mem_useitem>(instance.User_useItem.get_Values()), Mem_useitem.tableName)); list.Add(new SaveTarget(typeof(List <Mem_rebellion_point>), Enumerable.ToList <Mem_rebellion_point>(instance.User_rebellion_point.get_Values()), Mem_rebellion_point.tableName)); list.Add(new SaveTarget(typeof(List <Mem_room>), Enumerable.ToList <Mem_room>(instance.User_room.get_Values()), Mem_room.tableName)); list.Add(new SaveTarget(typeof(List <int>), Enumerable.ToList <int>(instance.Temp_escortship), "temp_escortship")); list.Add(new SaveTarget(typeof(List <int>), Enumerable.ToList <int>(instance.Temp_deckship), "temp_deckship")); List <Mem_history> list2 = new List <Mem_history>(); using (Dictionary <int, List <Mem_history> > .ValueCollection.Enumerator enumerator = instance.User_history.get_Values().GetEnumerator()) { while (enumerator.MoveNext()) { List <Mem_history> current = enumerator.get_Current(); list2.AddRange(current); } } list.Add(new SaveTarget(typeof(List <Mem_history>), list2, Mem_history.tableName)); return(list); }
public bool Save() { if (operatorInstance == null || Comm_UserDatas.Instance.User_basic.Starttime == 0) { return(false); } if (SaveLoad.IsDialogOpen || IsBusy) { return(false); } SaveHeaderFmt saveHeaderFmt = new SaveHeaderFmt(); saveHeaderFmt.SetPropertie(); List <SaveTarget> saveTarget = getSaveTarget(saveHeaderFmt); byte[] data = null; using (MemoryStream memoryStream = new MemoryStream()) { using (XmlWriter xmlWriter = XmlWriter.Create(memoryStream)) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement(getTableName()); foreach (SaveTarget item in saveTarget) { DataContractSerializer dataContractSerializer = (!item.IsCollection) ? new DataContractSerializer(item.ClassType) : new DataContractSerializer(item.ClassType, item.TableName + "s", string.Empty); dataContractSerializer.WriteObject(xmlWriter, item.Data); } xmlWriter.WriteEndElement(); xmlWriter.Flush(); data = memoryStream.ToArray(); } } SaveLoad.SavedGameSlotParams slotParams = default(SaveLoad.SavedGameSlotParams); TurnString turnString = Comm_UserDatas.Instance.User_turn.GetTurnString(); string text = (Comm_UserDatas.Instance.User_plus.GetLapNum() <= 0) ? string.Empty : "★"; string subTitle = $"{text}{turnString.Year}の年 {turnString.Month} {turnString.Day}日"; string nickname = Comm_UserDatas.Instance.User_basic.Nickname; string datail = getDatail(); slotParams.title = nickname; slotParams.subTitle = subTitle; slotParams.detail = datail; slotParams.iconPath = Application.streamingAssetsPath + "/SaveIcon.png"; SaveLoad.ControlFlags controlFlags = SaveLoad.ControlFlags.NOSPACE_DIALOG_CONTINUABLE; return((SaveLoad.SaveGameList(data, slotParams, controlFlags) == ErrorCode.SG_OK) ? true : false); }
public bool Save(int slot_no) { if (Comm_UserDatas.Instance.User_basic.Starttime == 0) { return(false); } SaveHeaderFmt saveHeaderFmt = new SaveHeaderFmt(); saveHeaderFmt.SetPropertie(); List <SaveTarget> saveTarget = this.getSaveTarget(saveHeaderFmt); byte[] array = null; using (MemoryStream memoryStream = new MemoryStream()) { using (XmlWriter xmlWriter = XmlWriter.Create(memoryStream)) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement(this.getTableName(slot_no)); using (List <SaveTarget> .Enumerator enumerator = saveTarget.GetEnumerator()) { while (enumerator.MoveNext()) { SaveTarget current = enumerator.get_Current(); DataContractSerializer dataContractSerializer; if (current.IsCollection) { dataContractSerializer = new DataContractSerializer(current.ClassType, current.TableName + "s", string.Empty); } else { dataContractSerializer = new DataContractSerializer(current.ClassType); } dataContractSerializer.WriteObject(xmlWriter, current.Data); xmlWriter.Flush(); } } xmlWriter.WriteEndElement(); xmlWriter.Flush(); array = memoryStream.ToArray(); } } File.WriteAllBytes(this.getMemberFilePath(slot_no), array); this.cacheHeader.set_Item(slot_no, saveHeaderFmt); return(true); }
private List <SaveTarget> getSaveTarget(SaveHeaderFmt header) { List <SaveTarget> list = new List <SaveTarget>(); Comm_UserDatas instance = Comm_UserDatas.Instance; list.Add(new SaveTarget(typeof(SaveHeaderFmt), header, SaveHeaderFmt.tableaName)); list.Add(new SaveTarget(typeof(Mem_basic), instance.User_basic, Mem_basic.tableName)); list.Add(new SaveTarget(typeof(Mem_newgame_plus), instance.User_plus, Mem_newgame_plus.tableName)); list.Add(new SaveTarget(typeof(Mem_record), instance.User_record, Mem_record.tableName)); list.Add(new SaveTarget(typeof(Mem_trophy), instance.User_trophy, Mem_trophy.tableName)); list.Add(new SaveTarget(typeof(Mem_turn), instance.User_turn, Mem_turn.tableName)); list.Add(new SaveTarget(typeof(Mem_deckpractice), instance.User_deckpractice, Mem_deckpractice.tableName)); list.Add(new SaveTarget(typeof(List <Mem_book>), instance.Ship_book.Values.ToList(), "ship_book")); list.Add(new SaveTarget(typeof(List <Mem_book>), instance.Slot_book.Values.ToList(), "slot_book")); list.Add(new SaveTarget(typeof(List <Mem_deck>), instance.User_deck.Values.ToList(), Mem_deck.tableName)); list.Add(new SaveTarget(typeof(List <Mem_esccort_deck>), instance.User_EscortDeck.Values.ToList(), Mem_esccort_deck.tableName)); list.Add(new SaveTarget(typeof(List <Mem_furniture>), instance.User_furniture.Values.ToList(), Mem_furniture.tableName)); list.Add(new SaveTarget(typeof(List <Mem_kdock>), instance.User_kdock.Values.ToList(), Mem_kdock.tableName)); list.Add(new SaveTarget(typeof(List <Mem_mapcomp>), instance.User_mapcomp.Values.ToList(), Mem_mapcomp.tableName)); list.Add(new SaveTarget(typeof(List <Mem_mapclear>), instance.User_mapclear.Values.ToList(), Mem_mapclear.tableName)); list.Add(new SaveTarget(typeof(List <Mem_material>), instance.User_material.Values.ToList(), Mem_material.tableName)); list.Add(new SaveTarget(typeof(List <Mem_missioncomp>), instance.User_missioncomp.Values.ToList(), Mem_missioncomp.tableName)); list.Add(new SaveTarget(typeof(List <Mem_ndock>), instance.User_ndock.Values.ToList(), Mem_ndock.tableName)); list.Add(new SaveTarget(typeof(List <Mem_quest>), instance.User_quest.Values.ToList(), Mem_quest.tableName)); list.Add(new SaveTarget(typeof(List <Mem_questcount>), instance.User_questcount.Values.ToList(), Mem_questcount.tableName)); list.Add(new SaveTarget(instance.User_ship.Values)); list.Add(new SaveTarget(typeof(List <Mem_slotitem>), instance.User_slot.Values.ToList(), Mem_slotitem.tableName)); list.Add(new SaveTarget(typeof(List <Mem_tanker>), instance.User_tanker.Values.ToList(), Mem_tanker.tableName)); list.Add(new SaveTarget(typeof(List <Mem_useitem>), instance.User_useItem.Values.ToList(), Mem_useitem.tableName)); list.Add(new SaveTarget(typeof(List <Mem_rebellion_point>), instance.User_rebellion_point.Values.ToList(), Mem_rebellion_point.tableName)); list.Add(new SaveTarget(typeof(List <Mem_room>), instance.User_room.Values.ToList(), Mem_room.tableName)); list.Add(new SaveTarget(typeof(List <int>), instance.Temp_escortship.ToList(), "temp_escortship")); list.Add(new SaveTarget(typeof(List <int>), instance.Temp_deckship.ToList(), "temp_deckship")); List <Mem_history> list2 = new List <Mem_history>(); foreach (List <Mem_history> value in instance.User_history.Values) { list2.AddRange(value); } list.Add(new SaveTarget(typeof(List <Mem_history>), list2, Mem_history.tableName)); return(list); }
private SaveHeaderFmt getHeaderInfo(int slot_no) { SaveHeaderFmt saveHeaderFmt = null; XElement xElement = null; try { xElement = XElement.Load(this.getMemberFilePath(slot_no)).Element(SaveHeaderFmt.tableaName); } catch (Exception ex) { string message = ex.get_Message(); xElement = null; } if (xElement != null) { saveHeaderFmt = new SaveHeaderFmt(); if (!saveHeaderFmt.SetPropertie(xElement)) { saveHeaderFmt = null; } } return(saveHeaderFmt); }
public bool Save() { if (this.operatorInstance == null || Comm_UserDatas.Instance.User_basic.Starttime == 0) { return(false); } if (SaveLoad.get_IsDialogOpen() || this.IsBusy) { return(false); } SaveHeaderFmt saveHeaderFmt = new SaveHeaderFmt(); saveHeaderFmt.SetPropertie(); List <SaveTarget> saveTarget = this.getSaveTarget(saveHeaderFmt); byte[] array = null; using (MemoryStream memoryStream = new MemoryStream()) { using (XmlWriter xmlWriter = XmlWriter.Create(memoryStream)) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement(this.getTableName()); using (List <SaveTarget> .Enumerator enumerator = saveTarget.GetEnumerator()) { while (enumerator.MoveNext()) { SaveTarget current = enumerator.get_Current(); DataContractSerializer dataContractSerializer; if (current.IsCollection) { dataContractSerializer = new DataContractSerializer(current.ClassType, current.TableName + "s", string.Empty); } else { dataContractSerializer = new DataContractSerializer(current.ClassType); } dataContractSerializer.WriteObject(xmlWriter, current.Data); } } xmlWriter.WriteEndElement(); xmlWriter.Flush(); array = memoryStream.ToArray(); } } SaveLoad.SavedGameSlotParams savedGameSlotParams = default(SaveLoad.SavedGameSlotParams); TurnString turnString = Comm_UserDatas.Instance.User_turn.GetTurnString(); string text = (Comm_UserDatas.Instance.User_plus.GetLapNum() <= 0) ? string.Empty : "★"; string subTitle = string.Format("{0}{1}の年 {2} {3}日", new object[] { text, turnString.Year, turnString.Month, turnString.Day }); string nickname = Comm_UserDatas.Instance.User_basic.Nickname; string datail = this.getDatail(); savedGameSlotParams.title = nickname; savedGameSlotParams.subTitle = subTitle; savedGameSlotParams.detail = datail; savedGameSlotParams.iconPath = Application.get_streamingAssetsPath() + "/SaveIcon.png"; SaveLoad.ControlFlags controlFlags = 0; ErrorCode errorCode = SaveLoad.SaveGameList(array, savedGameSlotParams, controlFlags); return(errorCode == null); }