BlueprintスクリプトAPIについて

Strix Unreal SDKではBlueprintスクリプトAPIを提供します。このページではそのAPIに関する一般的な考慮点を要約します。

ネットワーク操作を行う関数

Strixの関数の中には、ネットワーク操作を行い、背後の通信が完了するのを待つ必要のあるものが多数あります。Strixでは、この状況を扱うためにイベント駆動型の設計を行っています。

BlueprintSDKライブラリサーバー関数呼び出しサーバーへ要求関数から復帰サーバー側処理サーバーから応答コールバックBlueprintSDKライブラリサーバー

以下の例のように、Strix関数のBlueprintノード(この例では「Search Joinable Room」)にはデータ出力ピンがなく、「Success Callback」と「Failure Callback」という名前のデリゲートピンを持つものがあります。これらのデリゲートピンはカスタムイベントノードに接続します。

Blueprint node of a typical Strix function

このようなノードを実行すると、ネットワーク操作の完了以前に実行が次のノードに進みます。その時点では出力データは利用できるようになっていません。

その後、ネットワーク操作が完了すると、2つのデリゲートのうちの1つが呼び出されます。操作が成功した場合はSuccess Callbackが、そうでないならFailure Callbackが呼び出され、Blueprintの対応するカスタムイベントがトリガーされます。ネットワーク操作の論理的な出力は対応するカスタムイベントノードから得ることができます。カスタムイベントノードから実行を続け、ネットワーク操作の後で行う処理を行うことができます。

上のBlueprintの例では、Rooms FoundカスタムイベントノードにあるRooms(これはStrixの構造体の配列です)がサーチ操作の結果であり、見つかったルームを使用して行いたい処理をRooms Foundカスタムイベントの実行ピンに接続します。

クイックスタートStrix Unreal Sampleには、Success CallbackFailure Callbackの用例が多数あります。