Static Public メソッド | Public 変数
クラス CriFsUtility

CPKファイルのバインドや、ファイルのロード等の操作を簡単に行うための、ユーティリティクラスです。 [詳細]

すべてのメンバ一覧

Static Public メソッド

static CriFsLoadFileRequest LoadFile (string path, int readUnitSize=DefaultReadUnitSize)
 ファイルのロードを開始します。
static CriFsLoadFileRequest LoadFile (CriFsBinder binder, string path, int readUnitSize=DefaultReadUnitSize)
 ファイルのロードを開始します。
static CriFsLoadAssetBundleRequest LoadAssetBundle (string path, int readUnitSize=DefaultReadUnitSize)
 アセットバンドルファイルのロードを開始します。
static CriFsLoadAssetBundleRequest LoadAssetBundle (CriFsBinder binder, string path, int readUnitSize=DefaultReadUnitSize)
 アセットバンドルファイルのロードを開始します。
static CriFsInstallRequest Install (string srcPath, string dstPath)
 ファイルのインストールを開始します。
static CriFsInstallRequest Install (CriFsBinder srcBinder, string srcPath, string dstPath)
 ファイルのインストールを開始します。
static CriFsInstallRequest WebInstall (string srcPath, string dstPath, CriFsRequest.DoneDelegate doneDeleagate)
 ファイルのインストールを開始します。
static CriFsBindRequest BindCpk (CriFsBinder targetBinder, string srcPath)
 CPKファイルのバインドを開始します。
static CriFsBindRequest BindCpk (CriFsBinder targetBinder, CriFsBinder srcBinder, string srcPath)
 CPKファイルのバインドを開始します。
static CriFsBindRequest BindDirectory (CriFsBinder targetBinder, string srcPath)
 ディレクトリパスのバインドを開始します。
static CriFsBindRequest BindDirectory (CriFsBinder targetBinder, CriFsBinder srcBinder, string srcPath)
 ディレクトリパスのバインドを開始します。
static CriFsBindRequest BindFile (CriFsBinder targetBinder, string srcPath)
 ファイルをバインドします。
static CriFsBindRequest BindFile (CriFsBinder targetBinder, CriFsBinder srcBinder, string srcPath)
 ファイルのバインドを開始します。
static void SetUserAgentString (string userAgentString)
 HTTPリクエストで使用するUser-Agent文字列を指定します。
static void SetProxyServer (string proxyPath, UInt16 proxyPort)
 HTTPリクエストで使用するプロキシサーバを指定します。
static void SetPathSeparator (string filter)
 パスセパレータの指定

Public 変数

const int DefaultReadUnitSize = (1024 * 1024)
 各ロードリクエストのデフォルトの読み込み単位サイズです。

説明

CPKファイルのバインドや、ファイルのロード等の操作を簡単に行うための、ユーティリティクラスです。

説明:
CPKファイルのバインドや、ファイルのロード等の操作を簡単に行うための、ユーティリティクラスです。

関数

static CriFsLoadFileRequest LoadFile ( string  path,
int  readUnitSize = DefaultReadUnitSize 
)
inlinestatic

ファイルのロードを開始します。

引数:
pathファイルパス
readUnitSize内部で使用するCriFsLoaderの読み込み単位サイズ
戻り値:
CriFsLoadFileRequest
説明:
指定されたファイルの読み込みを開始します。

本関数は即時復帰関数です。
ロードの完了をチェックするには、 CriFsLoadFileRequest::isDone を確認する必要があります。
ロード処理中にエラーが発生した場合、 CriFsLoadFileRequest::error にエラー情報が格納されます。
備考:
CPKファイル内のデータをロードする場合には、 本関数の代わりに CriFsUtility::LoadFile を使用し、 データ読み込み元となるバインダを指定する必要があります。

パスにURLを指定することで、ネットワーク経由でファイルをロードすることも可能です。
 // crimot.comからFMPRO_Intro_e.txtをダウンロード
 CriFsLoadFileRequest request = CriFsUtility.LoadFile(
  "http://crimot.com/sdk/sampledata/crifilesystem/FMPRO_Intro_e.txt");
例:
CriFsUtility::LoadFile 関数を用いてファイルを読み込むコードは以下のとおりです。
 IEnumerator UserLoadFile(string path)
 {
  // ファイルの読み込みを開始
  CriFsLoadFileRequest request = CriFsUtility.LoadFile(path);

  // 読み込み完了を待つ
  yield return request.WaitForDone(this);

  // エラーチェック
  if (request.error != null) {
      // エラー発生時の処理
      …
      yield break;
  }

  // 備考)ロードされたファイルの内容は request.bytes 内に格納されています。
 }

StreamingAssetsフォルダ以下のデータを読み込む場合は、 CriWare::Common::streamingAssetsPath を ファイルパスの前に連結してください。
  string path = Path.Combine(CriWare.Common.streamingAssetsPath, "sample_text.txt");
  CriFsLoadFileRequest request = CriFsUtility.LoadFile(path);
参照:
CriFsLoadFileRequest, CriFsUtility::LoadFile(CriFsBinder, string)
static CriFsLoadFileRequest LoadFile ( CriFsBinder  binder,
string  path,
int  readUnitSize = DefaultReadUnitSize 
)
inlinestatic

ファイルのロードを開始します。

引数:
binderバインダ
pathファイルパス
readUnitSize内部で使用するCriFsLoaderの読み込み単位サイズ
戻り値:
CriFsLoadFileRequest
説明:
バインド済みのファイルの読み込みを開始します。

本関数は即時復帰関数です。
ロードの完了をチェックするには、 CriFsLoadFileRequest::isDone を確認する必要があります。
ロード処理中にエラーが発生した場合、 CriFsLoadFileRequest::error にエラー情報が格納されます。
備考:
第一引数にバインダを指定する点以外は、 CriFsUtility::LoadFile 関数と同じです。
参照:
CriFsLoadFileRequest, CriFsUtility::LoadFile(string)
static CriFsLoadAssetBundleRequest LoadAssetBundle ( string  path,
int  readUnitSize = DefaultReadUnitSize 
)
inlinestatic

アセットバンドルファイルのロードを開始します。

引数:
pathファイルパス
readUnitSize内部で使用するCriFsLoaderの読み込み単位サイズ
戻り値:
CriFsLoadAssetBundleRequest
説明:
指定されたアセットバンドルファイルの読み込みを開始します。

本関数は即時復帰関数です。
ロードの完了をチェックするには、 CriFsLoadAssetBundleRequest::isDone を確認する必要があります。
ロード処理中にエラーが発生した場合、 CriFsLoadFileRequest::error にエラー情報が格納されます。
備考:
CPKファイル内のアセットデータをロードする場合には、 本関数の代わりに CriFsUtility::LoadAssetBundle を使用し、 データ読み込み元となるバインダを指定する必要があります。

パスにURLを指定することで、ネットワーク経由でファイルをロードすることも可能です。
 // crimot.comからCharaMomo.unity3dをダウンロード
 CriFsLoadFileRequest request = CriFsUtility.LoadAssetBundle(
  "http://crimot.com/sdk/sampledata/crifilesystem/CharaMomo.unity3d");
例:
CriFsUtility::LoadAssetBundle 関数を用いてアセットバンドルを読み込むコードは以下のとおりです。
 IEnumerator UserLoadAssetBundle(string path)
 {
  // アセットバンドルの読み込みを開始
  CriFsLoadAssetBundleRequest request = CriFsUtility.LoadAssetBundle(path);

  // 読み込み完了を待つ
  yield return request.WaitForDone(this);

  // エラーチェック
  if (request.error != null) {
      // エラー発生時の処理
      …
      yield break;
  }

  // インスタンスの作成
  var obj = GameObject.Instantiate(request.assetBundle.mainAsset,
          new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity);
      :
 }

StreamingAssetsフォルダ以下のデータを読み込む場合は、 CriWare::Common::streamingAssetsPath を ファイルパスの前に連結してください。
  string path = Path.Combine(CriWare.Common.streamingAssetsPath, "sample.assetbundle");
  CriFsLoadAssetBundleRequest request = CriFsUtility.LoadAssetBundle(path);
参照:
CriFsLoadAssetBundleRequest, CriFsUtility::LoadAssetBundle(CriFsBinder, string)
static CriFsLoadAssetBundleRequest LoadAssetBundle ( CriFsBinder  binder,
string  path,
int  readUnitSize = DefaultReadUnitSize 
)
inlinestatic

アセットバンドルファイルのロードを開始します。

引数:
binderバインダ
pathファイルパス
readUnitSize内部で使用するCriFsLoaderの読み込み単位サイズ
戻り値:
CriFsLoadAssetBundleRequest
説明:
バインド済みのアセットバンドルファイルの読み込みを開始します。

本関数は即時復帰関数です。
ロードの完了をチェックするには、 CriFsLoadAssetBundleRequest::isDone を確認する必要があります。
ロード処理中にエラーが発生した場合、 CriFsLoadFileRequest::error にエラー情報が格納されます。
備考:
第一引数にバインダを指定する点以外は、 CriFsUtility::LoadAssetBundle 関数と同じです。
参照:
CriFsLoadAssetBundleRequest, CriFsUtility::LoadAssetBundle(string)
static CriFsInstallRequest Install ( string  srcPath,
string  dstPath 
)
inlinestatic

ファイルのインストールを開始します。

引数:
srcPathインストール元ファイルパス
dstPathインストール先ファイルパス
戻り値:
CriFsInstallRequest
説明:
指定されたファイルのインストールを開始します。
インストール元ファイルパスをsrcPath、インストール先ファイルパスをdstPathで指定します。

本関数は即時復帰関数です。
インストールの完了をチェックするには、 CriFsInstallRequest::isDone を確認する必要があります。
インストール処理中にエラーが発生した場合、 CriFsInstallRequest::error にエラー情報が格納されます。

StreamingAssetsフォルダ以下のデータをインストール元として指定する場合は、 CriWare::Common::streamingAssetsPath を ファイルパスの前に連結してください。
備考:
パスにURLを指定することで、ネットワーク経由でファイルをロードすることも可能です。
注意:
インストール先が存在しない場合エラーになるため、事前にフォルダ作成して本APIを呼び出してください。
例:
CriFsUtility::Install 関数を用いてファイルをインストールするコードは以下のとおりです。
 private IEnumerator UserInstallFile(string url, string path)
 {
  // インストールの開始
  CriFsInstallRequest request = CriFsUtility.Install(url, path);

  // インストール完了待ち
  yield return request.WaitForDone(this);

  // エラーチェック
  if (request.error != null) {
      // エラー発生時の処理
      …
      yield break;
  }
      :
 }
参照:
CriFsInstallRequest
static CriFsInstallRequest Install ( CriFsBinder  srcBinder,
string  srcPath,
string  dstPath 
)
inlinestatic

ファイルのインストールを開始します。

引数:
srcBinderインストール元バインダ
srcPathインストール元ファイルパス
dstPathインストール先ファイルパス
戻り値:
CriFsInstallRequest
説明:
バインド済のファイルのインストールを開始します。
インストール元ファイルパスをsrcPath、インストール先ファイルパスをdstPathで指定します。

本関数は即時復帰関数です。
インストールの完了をチェックするには、 CriFsInstallRequest::isDone を確認する必要があります。
インストール処理中にエラーが発生した場合、 CriFsInstallRequest::error にエラー情報が格納されます。
備考:
第一引数にバインダを指定する点以外は、 CriFsUtility::Install(string, string) 関数と同じです。
(本関数は、CPKファイル内のコンテンツを、ファイルとして書き出す際にのみ使用します。)
参照:
CriFsInstallRequest, CriFsUtility::Install(string, string)
static CriFsInstallRequest WebInstall ( string  srcPath,
string  dstPath,
CriFsRequest.DoneDelegate  doneDeleagate 
)
inlinestatic

ファイルのインストールを開始します。

引数:
srcPathインストール元ファイルパス(URL)
dstPathインストール先ファイルパス
doneDeleagate非同期処理の完了コールバック
戻り値:
CriFsWebInstallRequest
説明:
ファイルのインストールを開始します。
インストール元ファイルパス(URL)をsrcPath、インストール先ファイルパスをdstPathで指定します。

本関数は即時復帰関数です。
インストールの完了をチェックするには、 CriFsWebInstallRequest::isDone を確認する必要があります。
インストール処理中にエラーが発生した場合、 CriFsWebInstallRequest::error にエラー情報が格納されます。
注意:
iOSでの本機能の動作要件は iOS7 以降になります。
参照:
CriFsWebInstallRequest
static CriFsBindRequest BindCpk ( CriFsBinder  targetBinder,
string  srcPath 
)
inlinestatic

CPKファイルのバインドを開始します。

引数:
targetBinderバインド先バインダ
srcPathCPKファイルパス
戻り値:
CriFsBindRequest
説明:
CPKファイルのバインドを開始します。

本関数は即時復帰関数です。
バインドの完了をチェックするには、 CriFsBindRequest::isDone を確認する必要があります。
バインド処理中にエラーが発生した場合、 CriFsBindRequest::error にエラー情報が格納されます。

StreamingAssetsフォルダ以下のデータをバインドする場合は、 CriWare::Common::streamingAssetsPath を ファイルパスの前に連結してください。
備考:
マルチバインド機能を使用する場合や、CPKファイル内のCPKデータをバインドする場合には、 本関数の代わりに CriFsUtility::BindCpk(CriFsBinder, CriFsBinder, string) を使用する必要があります。

パスにURLを指定することで、ネットワーク上のCPKファイルをバインドすることも可能です。
 // crimot.comのsample.cpkをバインド
 CriFsLoadFileRequest request = CriFsUtility.LoadFile(
  "http://crimot.com/sdk/sampledata/crifilesystem/sample.cpk");
注意:
CPKコンテンツの情報を取得するタイミングは、バインド時のみです。
そのため、ネットワーク上のCPKファイルをバインドした場合、 サーバ側でファイルが更新されたとしても、クライアント側では更新を検知することはできません。
(更新後のCPKファイルに対し意図しないアクセスが発生する可能性があります。)
例:
CriFsUtility::BindCpk 関数、および CriFsUtility::LoadFile 関数を用いてCPKファイル内のコンテンツを読み込むコードは以下のとおりです。
 private CriFsBinder binder = null;   // バインダ
 private uint bindId = 0;             // バインドID

 void OnEnable()
 {
  // バインダの作成
  this.binder = new CriFsBinder();
 }

 void OnDisable()
 {
  // アンバインド処理の実行
  if (this.bindId > 0) {
      CriFsBinder.Unbind(this.bindId);
      this.bindId = 0;
  }

  // バインダの破棄
  this.binder.Dispose();
  this.binder = null;
 }

 IEnumerator UserLoadFileFromCpk(string cpk_path, string content_path)
 {
  // CPKファイルのバインドを開始
  CriFsBindRequest bind_request = CriFsUtility.BindCpk(this.binder, cpk_path);

  // バインドの完了を待つ
  yield return bind_request.WaitForDone(this);

  // エラーチェック
  if (bind_request.error != null) {
      // エラー発生時の処理
      …
      yield break;
  }

  // CPK内のコンテンツの読み込みを開始
  CriFsLoadFileRequest load_request = CriFsUtility.LoadFile(this.binder, content_path);

  // 読み込み完了を待つ
  yield return load_request.WaitForDone(this);

  // エラーチェック
  if (load_request.error != null) {
      // エラー発生時の処理
      …
      yield break;
  }

  // 備考)ロードされたファイルの内容は request.bytes 内に格納されています。
 }
参照:
CriFsBindRequest, CriFsUtility::BindCpk(CriFsBinder, CriFsBinder, string)
static CriFsBindRequest BindCpk ( CriFsBinder  targetBinder,
CriFsBinder  srcBinder,
string  srcPath 
)
inlinestatic

CPKファイルのバインドを開始します。

引数:
targetBinderバインド先バインダ
srcBinderバインドするCPKファイルにアクセスするためのバインダ
srcPathCPKファイルパス
戻り値:
CriFsBindRequest
説明:
CPKファイルのバインドを開始します。
CriFsUtility::BindCpk(CriFsBinder, string) に加え、 CPKファイル内のサブCPKにアクセスするためのバインダが指定可能です。

本関数は即時復帰関数です。
バインドの完了をチェックするには、 CriFsBindRequest::isDone を確認する必要があります。
バインド処理中にエラーが発生した場合、 CriFsBindRequest::error にエラー情報が格納されます。
参照:
CriFsBindRequest, CriFsUtility::BindCpk(CriFsBinder, string)
static CriFsBindRequest BindDirectory ( CriFsBinder  targetBinder,
string  srcPath 
)
inlinestatic

ディレクトリパスのバインドを開始します。

引数:
targetBinderバインド先バインダ
srcPathバインドするディレクトリのパス名
説明:
ディレクトリパス名をバインドします。

本関数は即時復帰関数です。
バインドの完了をチェックするには、 CriFsBindRequest::isDone を確認する必要があります。
バインド処理中にエラーが発生した場合、 CriFsBindRequest::error にエラー情報が格納されます。

StreamingAssetsフォルダ以下のディレクトリをバインドする場合は、 CriWare::Common::streamingAssetsPath を ファイルパスの前に連結してください。
備考:
バインド時に指定されたディレクトリが存在するか否かはチェックしていません。
バインダ内に保持されるのはディレクトリパスだけで、 指定されたディレクトリ内のファイルをオープン状態にするものではありません。
注意:
本関数は開発支援用のデバッグ関数です。
本関数を使用した場合、以下の問題が発生する可能性があります。
  • CriFsLoader::Load 関数や CriFsBinder::GetFileSize 関数内で処理が長時間ブロックされる。
  • バインドしたディレクトリ内のファイルにアクセスする際、音声やムービーのストリーム再生が途切れる。
注意:
マスターアップ時には本関数をアプリケーション中で使用しないようご注意ください。
(ディレクトリ内のデータをCPKファイル化して CriFsUtility::BindCpk 関数でバインドするか、 またはディレクトリ内のファイルを全て CriFsUtility::BindFile 関数でバインドしてください。)
参照:
CriFsBindRequest, CriFsUtility::BindCpk, CriFsUtility::BindFile
static CriFsBindRequest BindDirectory ( CriFsBinder  targetBinder,
CriFsBinder  srcBinder,
string  srcPath 
)
inlinestatic

ディレクトリパスのバインドを開始します。

引数:
targetBinderバインド先バインダ
srcBinderバインドするディレクトリにアクセスするためのバインダ
srcPathCPKファイルパス
戻り値:
CriFsBindRequest
説明:
ディレクトリパスのバインドを開始します。
CriFsUtility::BindDirectory(CriFsBinder, string) に加え、 CPKファイル内のディレクトリにアクセスするためのバインダが指定可能です。

本関数は即時復帰関数です。
バインドの完了をチェックするには、 CriFsBindRequest::isDone を確認する必要があります。
バインド処理中にエラーが発生した場合、 CriFsBindRequest::error にエラー情報が格納されます。
参照:
CriFsBindRequest, CriFsUtility::BindDirectory(CriFsBinder, string)
static CriFsBindRequest BindFile ( CriFsBinder  targetBinder,
string  srcPath 
)
inlinestatic

ファイルをバインドします。

引数:
targetBinderバインド先バインダ
srcPathバインドするファイルのパス名
戻り値:
バインドID
説明:
ファイルのバインドを開始します。

本関数は即時復帰関数です。
バインドの完了をチェックするには、 CriFsBindRequest::isDone を確認する必要があります。
バインド処理中にエラーが発生した場合、 CriFsBindRequest::error にエラー情報が格納されます。

StreamingAssetsフォルダ以下のファイルをバインドする場合は、 CriWare::Common::streamingAssetsPath を ファイルパスの前に連結してください。
備考:
本関数は、ファイルをロードせずにファイルサイズだけを取得したい場合に使用します。
ファイルをバインド後、 CriFsBinder::GetFileSize 関数を実行することで、 ファイルサイズの取得を非同期で行うことが可能となります。
例:
CriFsUtility::BindFile 関数と CriFsBinder::GetFileSize 関数を用いてファイルサイズを取得するコードは以下のとおりです。
 IEnumerator UserGetFileSize(string path, out long fileSize)
 {
  // ファイルのバインドを開始
  CriFsBindRequest bind_request = CriFsUtility.BindFile(path);

  // バインドの完了を待つ
  yield return bind_request.WaitForDone(this);

  // エラーチェック
  if (bind_request.error != null) {
      // エラー発生時の処理
      …
      yield break;
  }

  // ファイルサイズの取得
  fileSize = bind_request.binder.GetFileSize();
 }
参照:
CriFsBindRequest, CriFsBinder::GetFileSize
static CriFsBindRequest BindFile ( CriFsBinder  targetBinder,
CriFsBinder  srcBinder,
string  srcPath 
)
inlinestatic

ファイルのバインドを開始します。

引数:
targetBinderバインド先バインダ
srcBinderバインドするファイルにアクセスするためのバインダ
srcPathファイルパス
戻り値:
CriFsBindRequest
説明:
ファイルのバインドを開始します。
CriFsUtility::BindFile(CriFsBinder, string) に加え、 CPKファイル内のファイルにアクセスするためのバインダが指定可能です

本関数は即時復帰関数です。
バインドの完了をチェックするには、 CriFsBindRequest::isDone を確認する必要があります。
バインド処理中にエラーが発生した場合、 CriFsBindRequest::error にエラー情報が格納されます。
参照:
CriFsBindRequest, CriFsUtility::BindFile(CriFsBinder, string)
static void SetUserAgentString ( string  userAgentString)
inlinestatic

HTTPリクエストで使用するUser-Agent文字列を指定します。

引数:
userAgentStringUser-Agent文字
説明:
HTTPリクエスト時のUser-Agent文字列を指定します。
未指定の場合、下位ファイルシステムモジュールのバージョン文字が指定されています。
User-Agent文字は255文字(255バイト)以下で指定してください。
static void SetProxyServer ( string  proxyPath,
UInt16  proxyPort 
)
inlinestatic

HTTPリクエストで使用するプロキシサーバを指定します。

引数:
proxyPathプロキシサーバアドレス
proxyPortプロキシサーバポート番号
説明:
HTTP I/OのHTTPリクエスト時に利用するプロキシサーバアドレスを指定します。
proxyPathは256文字以下で指定してください。
static void SetPathSeparator ( string  filter)
inlinestatic

パスセパレータの指定

引数:
filterセパレータとして使用する文字の一覧
説明:
CRI File Systemライブラリがセパレータとして解釈する文字を変更します。
デフォルト状態では「,」「\t」「\n」の3つの文字がセパレータとして扱われます。
filter には、セパレータとして使用する文字の一覧を格納した文字列を指定します。
例えば、 "@+-*" を指定した場合、「@」「+」「-」「*」の4種類の文字がセパレータ として扱われます。
filter に空文字列("")を指定した場合はセパレータが無効になり、 null を指定した 場合は設定がデフォルトに戻ります。
注意:
プラグイン関数に対して本関数で指定したセパレータを含むパスを渡した場合、内部で 不正なパスとして処理され、セパレータ以降のパスが無効になります。
アプリケーション中で「,」「\t」「\n」を含むパスを扱う場合には、本関数で事前に セパレータに変更しておく必要があります。

変数

const int DefaultReadUnitSize = (1024 * 1024)

各ロードリクエストのデフォルトの読み込み単位サイズです。

説明:
各ロードリクエストの最後の引数のデフォルト値です。
参照:
CriFsUtility::LoadFile, CriFsUtility::LoadAssetBundle, CriFsUtility::LoadAssetBundle

CRI Middleware logo Copyright (c) 2012 CRI Middleware Co., Ltd. CRIWARE Unity Plug-inマニュアル 2021-02-05 更新