BlueprintスクリプトAPIについて

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

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

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

sequenceDiagram participant A as Blueprint participant B as SDKライブラリ participant C as サーバー A ->> + B : 関数呼び出し B ->> + C : サーバーへ要求 B -->> - A : 関数から復帰 C ->> C : サーバー側処理 C -->> + B : サーバーから応答 deactivate C B -->> - A : コールバック

以下の例のように、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の用例が多数あります。