Esempio n. 1
0
 public bool SaveTo(int saveIndex, string saveText)
 {
     string filepath = getSaveDataPath(saveIndex);
     FileStream fs = null;
     EraDataWriter writer = null;
     EraBinaryDataWriter bWriter = null;
     try
     {
         Config.CreateSavDir();
         fs = new FileStream(filepath, FileMode.Create, FileAccess.Write);
         if (Config.SystemSaveInBinary)
         {
             bWriter = new EraBinaryDataWriter(fs);
             SaveToStreamBinary(bWriter, saveText);
         }
         else
         {
             writer = new EraDataWriter(fs);
             SaveToStream(writer, saveText);
         }
         return true;
     }
     catch (Exception)
     {
         return false;
     }
     finally
     {
         if (writer != null)
             writer.Close();
         else if (bWriter != null)
             bWriter.Close();
         else if (fs != null)
             fs.Close();
     }
 }
Esempio n. 2
0
 public void SaveToStream(EraDataWriter writer, string saveDataText)
 {
     writer.Write(gamebase.ScriptUniqueCode);
     writer.Write(gamebase.ScriptVersion);
     writer.Write(saveDataText);
     writer.Write(varData.CharacterList.Count);
     for (int i = 0; i < varData.CharacterList.Count; i++)
     {
         varData.CharacterList[i].SaveToStream(writer);
     }
     varData.SaveToStream(writer);
     writer.EmuStart();
     for (int i = 0; i < varData.CharacterList.Count; i++)
     {
         varData.CharacterList[i].SaveToStreamExtended(writer);
     }
     varData.SaveToStreamExtended(writer);
 }
Esempio n. 3
0
        public bool SaveGlobal()
        {
            string filepath = getSaveDataPathG();
            EraDataWriter writer = null;
            EraBinaryDataWriter bWriter = null;
            FileStream fs = null;
            try
            {
                Config.CreateSavDir();
                fs = new FileStream(filepath, FileMode.Create, FileAccess.Write);
                if (Config.SystemSaveInBinary)
                {

                    bWriter = new EraBinaryDataWriter(fs);
                    bWriter.WriteHeader();
                    bWriter.WriteFileType(EraSaveFileType.Global);
                    bWriter.WriteInt64(gamebase.ScriptUniqueCode);
                    bWriter.WriteInt64(gamebase.ScriptVersion);
                    bWriter.WriteString("");//saveMes
                    varData.SaveGlobalToStreamBinary(bWriter);
                    bWriter.WriteEOF();
                }
                else
                {
                    writer = new EraDataWriter(fs);
                    writer.Write(gamebase.ScriptUniqueCode);
                    writer.Write(gamebase.ScriptVersion);
                    varData.SaveGlobalToStream(writer);
                    writer.EmuStart();
                    varData.SaveGlobalToStream1808(writer);
                }
            }
            catch(SystemException)
            {
                throw new CodeEE("グローバルデータの保存中にエラーが発生しました");
                //console.PrintError(
                //console.NewLine();
                //return false;
            }
            finally
            {
                if (writer != null)
                    writer.Close();
                else if (bWriter != null)
                    bWriter.Close();
                else if (fs != null)
                    fs.Close();
            }
            return true;
        }