// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Public Method // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// すでにファイルを読み込んでいる場合、 /// またはファイルが正しく読み込めなかった場合 /// </exception> public DatabaseMergedData ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); if (!(Data is null)) { throw new InvalidOperationException( $"すでに読み込み完了しています。"); } var datFileReader = new DatabaseDatFileReader(DatFilePath, DbKind); var dataSettingList = datFileReader.ReadSync().SettingList; var projectFile = new DatabaseProjectFileReader(ProjectFilePath, DbKind); var typeSettingList = projectFile.ReadSync().TypeSettingList; Data = new DatabaseMergedData(typeSettingList, dataSettingList); Logger.Info(FileIOMessage.EndFileRead(GetType())); return(Data); } }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Public Method // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// すでにファイルを読み込んでいる場合、 /// またはファイルが正しく読み込めなかった場合 /// </exception> public override DBType ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); var result = new DBType(); // ヘッダチェック ReadHeader(ReadStatus); // タイプ設定 ReadTypeSetting(ReadStatus, out var typeSetting); result.TypeName = typeSetting.TypeName; result.Memo = typeSetting.Memo; // データ設定 ReadDataSetting(ReadStatus, out var dataSetting); result.SetDataSettingType(dataSetting); result.ItemDescList.AddRange(MakeItemDescList(typeSetting, dataSetting)); result.DataDescList.Overwrite(0, MakeDataDescList(typeSetting, dataSetting)); Logger.Info(FileIOMessage.EndFileRead(GetType())); return(result); } }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Public Method // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// ファイルが正しく読み込めなかった場合 /// </exception> public override DatabaseDat ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); var result = new DatabaseDat(); // ヘッダチェック ReadHeader(ReadStatus); // DBデータ ReadDBData(ReadStatus, result); // フッタチェック ReadFooter(ReadStatus); // DB種別 result.DBKind = DBKind; Logger.Info(FileIOMessage.EndFileRead(GetType())); return(result); } }
/// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// ファイルが正しく読み込めなかった場合 /// </exception> public override MapTreeData ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); var result = ReadData(ReadStatus); Logger.Info(FileIOMessage.EndFileRead(GetType())); return(result); } }
/// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// ファイルが正しく読み込めなかった場合 /// </exception> public override GameIniData ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); var result = ReadData(FilePath); Logger.Info(FileIOMessage.EndFileRead(GetType())); return(result); } }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Public Method // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// ファイルが正しく読み込めなかった場合 /// </exception> public override DatabaseProject ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); var result = new DatabaseProject(); ReadTypeSettingList(ReadStatus, result); // DB種別 result.DBKind = DBKind; Logger.Info(FileIOMessage.EndFileRead(GetType())); return(result); } }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Public Method // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// ファイルが正しく読み込めなかった場合 /// </exception> public override DBData ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); var result = new DBData(); // ヘッダチェック ReadHeader(ReadStatus); // DBデータ ReadDbData(ReadStatus, result); Logger.Info(FileIOMessage.EndFileRead(GetType())); return(result); } }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Public Method // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// すでにファイルを読み込んでいる場合、 /// またはファイルが正しく読み込めなかった場合 /// </exception> public IEnumerable <TIniTarget> ReadSync() { if (IsAlreadyRead) { throw new InvalidOperationException( "すでに読み込み完了しています。"); } Logger.Info(FileIOMessage.StartFileRead(GetType())); foreach (var target in Data) { ReadOneData(target); } Logger.Info(FileIOMessage.EndFileRead(GetType())); IsAlreadyRead = true; return(Data); }
/// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// ファイルが正しく読み込めなかった場合 /// </exception> public override MapData ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); var result = new MapData(); // ヘッダチェック ReadHeader(ReadStatus); // ヘッダ文字列 ReadHeaderMemo(ReadStatus, result); // タイルセットID ReadTileSetId(ReadStatus, result); // マップサイズ横 ReadMapSizeWidth(ReadStatus, result); // マップサイズ縦 ReadMapSizeHeight(ReadStatus, result); // マップイベント数 var mapEventLength = ReadMapEventLength(ReadStatus); // レイヤー1~3 ReadLayer(ReadStatus, result); // マップイベント ReadMapEvent(mapEventLength, ReadStatus, result); // ファイル末尾 ReadFooter(ReadStatus); Logger.Info(FileIOMessage.EndFileRead(GetType())); return(result); } }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Public Method // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// ファイルが正しく読み込めなかった場合 /// </exception> public override DBTypeSet ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); var result = new DBTypeSet(); // ヘッダチェック ReadHeader(ReadStatus); // 項目種別 ReadValueType(ReadStatus, out var itemTypes); // タイプ設定 ReadTypeSetting(ReadStatus, result, itemTypes); Logger.Info(FileIOMessage.EndFileRead(GetType())); return(result); } }
/// <summary> /// ファイルを同期的に読み込む /// </summary> /// <returns>読み込んだデータ</returns> /// <exception cref="InvalidOperationException"> /// ファイルが正しく読み込めなかった場合 /// </exception> public override CommonEventData ReadSync() { lock (readLock) { Logger.Info(FileIOMessage.StartFileRead(GetType())); var commonEventData = new CommonEventData(); // ヘッダチェック ReadHeader(ReadStatus); // コモンイベント ReadCommonEvent(ReadStatus, commonEventData); // フッタチェック ReadFooter(ReadStatus); Logger.Info(FileIOMessage.EndFileRead(GetType())); return(commonEventData); } }