コード例 #1
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);
 }
コード例 #2
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;
        }