CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
通常のファイル読み込み

データフロー

ファイルマジックPROは、通常のファイルシステムのように、パッキングされていないファイルをファイル単位でアクセスすることができます。

crifs2_tutor01_dataflow_small.png

動作イメージ

ファイル読み込み時に「ローダ」を自動的に作成し、ファイルを読み込みます。
ローカルにあるファイルだけでなく、遠方のサーバー上にあるファイルも同じAPIで読み込むことができます。

fmpu_keys_fileload_file_system_mini.png

処理の流れ

コルーチンを使ってファイル読み込みを行います。
ファイル読み込みの終了待ちは yield命令 で行います。
ファイル読み込みAPI CriWare.CriFsUtility.LoadFile には、次のようにパスを指定します。
  • ローカルにあるファイルの読み込み
    CriFsLoadFileRequest request = CriFsUtility.LoadFile("StreamingAssets/sample_text.txt");

  • 遠方のサーバー上にあるイメージファイルの読み込み
    CriFsLoadFileRequest request = CriFsUtility.LoadFile("http://crimot.com/sdk/sampledata/crifilesystem/sample_image2.png");
ファイル読み込みのリクエストが発行され、バックグラウンドで非同期に読み込み処理が行われます。
yield命令 でファイル読み込みの終了待ちを行います。
error が null であれば、ファイル読み込みは成功です。
以下のコードは、テキストファイルを読み込んだときのデータ処理の例です。

yield return request.WaitForDone(this);
if (request.error == null) { // ファイル読み込みが成功
// リクエストオブジェクトからバッファ取得、データ処理
Encoding enc = Encoding.GetEncoding("utf-8");
this.loadedText = enc.GetString(request.bytes);
}

[備考]
実際のコードについては、サンプル「 [CriFs]ファイルの読み込み 」をご覧ください。