Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }