[前へ] [目次へ] [次へ]

DataStoreReader (ネイティブクラス)


このクラスはFGLパッケージを読み取り用として扱うクラスです。
FGLパッケージは拡張子 fgp または fcp のファイルで、
複数のファイルをひとつにまとめたパッケージファイルです。

●継承

   このクラスは継承をしていません。

●インターフェイスとインターフェイスメソッド

   このクラスはインターフェイスの実装宣言をしていません。

●クラスメソッド

名前概要
public操作メソッド Load_GameData_TextFileゲームデータフォルダのテキストファイルを読み込みます
public操作メソッド Load_GameData_BinaryFileゲームデータフォルダのバイナリファイルを読み込みます
public操作メソッド GetGameDirFileListゲームフォルダのファイル一覧を取得します
public操作メソッド PreLoad_GameData指定したファイルを先読みします
public操作メソッド CancelPreLoad_GameData先読み中のファイルを解放します

●クラスメンバメソッド

名前概要
public操作メソッド Openセーブフォルダのパッケージファイルを開きます
public操作メソッド Open_GameDataゲームデータフォルダのパッケージファイルを開きます
public操作メソッド Close開いているパッケージファイルを閉じます
public操作メソッド SetActiveDirectoryパッケージ内のディレクトリを設定します
public取得メソッドconst GetActiveDirectoryパッケージ内の現在のディレクトリを取得します
public取得メソッドconst GetBinaryパッケージ内のファイルをバイナリで取得します
public取得メソッドconst GetStringパッケージ内のファイルを文字列で取得します

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_DATASTOREREADER
クラス名: FGESDataStoreReader



DataStoreReader::Load_GameData_TextFile

public static Bool Load_GameData_TextFile( INativeString dir,
             INativeString filename,editable String out)


   ゲームデータフォルダにあるShiftJISテキストファイルを読み込みます。
   デバッグ用FGSPlayerでは単にファイルを読み込むだけです。
   リリース用FGSPlayerではデータパッケージファイルから読み込みます。
   
   このメソッドは読み込んだデータがUTF-16LEであると判断した場合、UTF-16LEとしてデータを読み込みます。

戻り値:読み込みに成功すると真を返します。

INativeString dir :読み込むフォルダ名。データフォルダ基準です。
INativeString filename :読み込むファイル名。拡張子まで指定します。
editable String out :[出力]読み込んだデータを保存するオブジェクト。

先頭へ


DataStoreReader::Load_GameData_BinaryFile

public static Bool Load_GameData_BinaryFile( INativeString dir,
             INativeString filename,editable Binary out)


   ゲームデータフォルダにあるバイナリファイルを読み込みます。
   デバッグ用FGSPlayerでは単にファイルを読み込むだけです。
   リリース用FGSPlayerではデータパッケージファイルから読み込みます。

戻り値:読み込みに成功すると真を返します。

INativeString dir :読み込むフォルダ名。データフォルダ基準です。
INativeString filename :読み込むファイル名。拡張子まで指定します。
editable Binary out :[出力]読み込んだデータを保存するオブジェクト。

先頭へ


DataStoreReader::GetGameDirFileList

public static Bool GetGameDirFileList( INativeString dir,editable PStringArray out)

   ゲームフォルダにある各フォルダのファイル一覧を取得します。
   取得されるファイル一覧には隠しファイルやシステムファイルは含まれません。
   
   このメソッドは素材ファイルの列挙に使用することを想定しているため、
   実行しているFGSEditor.exeがあるフォルダを基準にします。
   画像素材の場合は pic 、BGM素材の場合は bgm といったように各フォルダ名の指定が必要です。
   また、 . を含むフォルダは列挙対象に指定できません。

   このメソッドは指定したフォルダ内のファイルを列挙します。
   ファイル数の多いフォルダを指定した場合処理に時間が掛かる場合があります。
   また、取得されるリストはファイルシステムで列挙された順番で格納されます。
   必要な場合ソートしてください。
   
   指定したフォルダにフォルダがある場合、フォルダ名だけが列挙されます。
   フォルダに含まれるファイルは列挙対象にはなりません。
   
   このメソッドはFGSEditorで追加されているメソッドです。
   標準のFGES With FGLやFGSPlayerには含まれていません。

戻り値:列挙に成功すると真を返します。

INativeString dir :列挙するフォルダ名。実行フォルダ基準です。
editable PStringArray out :[出力]列挙したリストを保存するオブジェクト。

先頭へ


DataStoreReader::PreLoad_GameData

public static Bool PreLoad_GameData( INativeString dir,
             INativeString filename, INativeBool? interrupt=NULL)


   ゲームデータフォルダにある指定したファイルを先読みします。
   先読みするファイルは200MB以下のサイズである必要があります。
   
   このメソッドで先読みしたファイルは、
   次にこのファイルを読み込む際に1度だけ使用され、その後解放されます。
   
   先読みしたファイルが解放される前に再度同じファイルが先読み指定された場合、
   操作は累積統合され、指定された回数読み込まれた後解放されます。
   
   このメソッドによるロードはバックグラウンドロードスレッド(ネイティブスレッド)で非同期に行われるため、
   ロード処理の完了を待たずにこのメソッドから処理が戻ります。
   
   バックグラウンドロードスレッドが動作している間、
   本線での画像および効果音のロード処理速度は低下します。
   
   指定したファイルが読み込めない場合でも、このメソッドは失敗しません。
   読み込みエラーは実際にファイルを読み取る際に報告されます。

   interrupt に真を指定した場合、バックグラウンドロード待機列に割り込み、
   次のバックグラウンドロード対象にします。
   interrupt に偽または空参照を指定した場合、バックグラウンドロード待機列の最後尾に追加します。
   この指定は他にバックグラウンドロードを待機しているファイルがない場合は意味がありません。

戻り値:予約に成功した場合、真を返します。

INativeString dir :読み込むフォルダ名。データフォルダ基準です。
INativeString filename :読み込むファイル名。拡張子まで指定します。
INativeBool? interrupt=NULL :他のバックグラウンドロードへ割り込むか。
         空参照を指定した場合は偽が指定されたものとして扱います。

先頭へ


DataStoreReader::CancelPreLoad_GameData

public static Bool CancelPreLoad_GameData( INativeString dir,
             INativeString filename, INativeBool? forcemode=NULL)


   先読み指定されているファイルを読み込むことなく、解放します。
   この処理は実際には読み込み処理せずに読み込みが完了したものとして扱います。
   
   指定したファイルの先読み指定が累積されている場合、
   forcemode が偽なら1回分、真なら累積している全ての読み込みが完了したものとして扱います。
   
   このメソッドの呼び出しによってバックグラウンドロードが中止されることは保証されません。
   既にキューイングされているバックグラウンドロードは完了まで実行されます。

戻り値:処理に成功した場合、真を返します。

INativeString dir :解放するフォルダ名。データフォルダ基準です。
INativeString filename :解放するファイル名。拡張子まで指定します。
INativeBool? forcemode=NULL :先読み指定が累積していても解放するか。
         空参照を指定した場合は偽が指定されたものとして扱います。

先頭へ


DataStoreReader::Open

public Bool Open( INativeString filename)

   セーブデータフォルダにあるFGLパッケージファイルを開き、
   中に格納されているファイルにアクセスできるようにします。
   
   処理が終わったら速やかにこのオブジェクト自体を消滅させるか、 Close メソッドで閉じてください。

戻り値:ファイルを開くことに成功すると真を返します。

INativeString filename :読み込むファイル名。セーブフォルダ基準で、拡張子は自動的に付与されます。

先頭へ


DataStoreReader::Open_GameData

public Bool Open_GameData( INativeString dir, INativeString filename)

   ゲームデータフォルダにあるFGLパッケージファイルを開き、
   中に格納されているファイルにアクセスできるようにします。
   
   処理が終わったら速やかにこのオブジェクト自体を消滅させるか、 Close メソッドで閉じてください。

戻り値:ファイルを開くことに成功すると真を返します。

INativeString dir :読み込むフォルダ名。データフォルダ基準です。
INativeString filename :読み込むファイル名。拡張子まで指定します。

先頭へ


DataStoreReader::Close

public Bool Close()

   現在開いているファイルを閉じて、ファイル関連のリソースを解放します。

戻り値:処理に成功すると真を返します。

先頭へ


DataStoreReader::SetActiveDirectory

public Bool SetActiveDirectory( INativeString dir_name)

   開いているFGLパッケージファイル内のアクティブディレクトリを変更します。
   アクティブディレクトリはファイルシステムのカレントディレクトリに相当します。
   
   ディレクトリ名の先頭が / の場合はルートディレクトリから、
   それ以外の場合はアクティブディレクトリから、 / をパス区切り文字としてパスを扱います。
   
   この設定はファイルシステム上の位置ではなく、あくまでパッケージファイル内の位置です。

戻り値:設定に成功すると真を返します。

INativeString dir_name :設定するディレクトリパス。

先頭へ


DataStoreReader::GetActiveDirectory

public String GetActiveDirectory()const

   開いているFGLパッケージファイル内のアクティブディレクトリを取得します。
   アクティブディレクトリはファイルシステムのカレントディレクトリに相当します。
   
   この設定はファイルシステム上の位置ではなく、あくまでパッケージファイル内の位置です。

戻り値:現在のアクティブディレクトリのパス。

先頭へ


DataStoreReader::GetBinary

public Bool GetBinary( INativeString data_name,editable Binary out)const

   開いているFGLパッケージファイル内のファイルをバイナリデータで取得します。
   
   ファイル名の先頭が / の場合はルートディレクトリから、
   それ以外の場合はアクティブディレクトリから、 / をパス区切り文字としてパスを扱います。
   アクティブディレクトリはファイルシステムのカレントディレクトリに相当します。
   
戻り値:読み込みに成功すると真を返します。

INativeString data_name :読み込むファイル名(パス使用可能)
editable Binary out :[出力]読み込んだデータを保存するオブジェクト。

先頭へ


DataStoreReader::GetString

public Bool GetString( INativeString data_name,editable String out)const

   開いているFGLパッケージファイル内のファイルを文字列データで取得します。
   
   ファイル名の先頭が / の場合はルートディレクトリから、
   それ以外の場合はアクティブディレクトリから、 / をパス区切り文字としてパスを扱います。
   アクティブディレクトリはファイルシステムのカレントディレクトリに相当します。
   
戻り値:読み込みに成功すると真を返します。

INativeString data_name :読み込むファイル名(パス使用可能)
editable String out :[出力]読み込んだデータを保存するオブジェクト。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2022/09/08