MessagePipe を使ってみる
前回の記事の Unity Screen Navigator に続き、今回は MessagePipe を使ってみます。
データを予め登録しておいた対象に送るときに使える仕組み、と理解しています。
やったこと
セットアップ
MessagePipe の github から最新パッケージを unitypackage ファイルで取得してインストールしました。ただエラーが出たので依存しているらしい UniTask も同様に unitypackage ファイルを取得してインストールしました。
サンプルの作成と実行
作ったサンプルからの抜粋です。
↓初期化してデータを送る側のクラスから抜粋したコード
↓データを受け取る側のクラスから抜粋したコード
とりあえず、このコードを実行すると 1230, 4560, 7890 の値が表示されて、動作しているのが確認できました。よいです。
MessagePipe を使う場合、もろもろの初期化に VContainer を使うのが普通らしいのですが、私が詳しくないので今回は BuiltInContainerBuilder() を使いました。ただ、この書き方だと GlobalMessagePipe の初期化順を気にしないといけなくて「こういうあたりのためにも DI の仕組み使うんだな」というのが少しわかった気がします。
ただ、個人開発だと複数人で開発する場合に比べて、もろもろの初期化順や依存関係で困ることは少ないので DI フレームワークの VContainer 使っていませんでした。機会があれば使ってみようと思います。
まとめと今後の予定
MessagePipe を使ってみて雰囲気がわかったので大変よいです。
次回があれば、購入したけど使ってないアセットのデモを実行したりしたりしたいです。がんばります。