今回は Zenject の ZenjectDefaultSceneContractConfig を紹介します。便利!
Zenject_250x250

依存する SceneContext を自動ロードしてくれる

こちらで紹介されているとおり、ZenjectDefaultSceneContractConfig コンポーネントを使うと、依存する SceneContext を自動ロードしてくれるようになります。
使い方も記事のとおり。簡単。


マルチシーンでのゲーム作りに便利

こちらの記事で紹介したように、Manager シーンと StageX シーンを合成するようなゲーム作りのときに便利です。

これまでは UnityEditor 上で StageX シーンを編集していて、そのまま再生ボタンを押しても、親となる Manager シーンがないのでエラーとなっていました。そのため、毎回タイトルシーンやステージセレクトシーンを開いてから再生する手間がかかっていました。

ZenjectDefaultSceneContractConfig(名前が長い)を使うと、依存するシーンを自動的にロードしてくれるので、各ステージのシーンを編集したらそのまま再生ボタンを押して動作確認できるようになります。


設定例

設定例です。上述の、親子関係のある Manager シーンと StageX シーンに設定する場合。

SceneContext の親子関係を設定する

親となる Manager シーンの SceneContext の設定。
スクリーンショット (985).png

子となる StageX シーンの SceneContext の設定。
スクリーンショット (986).png

ZenjectDefaultSceneContractConfig を Resources フォルダ内に作成する

Resources フォルダ内である必要があるようです。
右クリック > Create > Zenject > Default Scene Contract Config から作成できます。

スクリーンショット (984)

ZenjectDefaultSceneContractConfig の設定を行う

親シーンと、親シーンの SceneContext の ContractName をセットします。
スクリーンショット (984).png
これだけ。簡単ですね。


参考資料

ZenjectDefaultSceneContractConfig がこちらの動画の開始1分くらいで紹介されていました。
もんりぃ先生、いつもお世話になっております。



今回は以上です。