使うようになって、個人的に実運用をしていくのに有用そうなワークフローを確立しつつあるので、それを紹介します。ベースにしたゲームを作っているので、そのような書き方が多くなると思いますが、大体は普遍的にゲームに適用できるかと思います。関する説明はネット上にころころあるので既に知っている方が多いかと思うのですが、必要最低限な前提を記述しておきます。行うためのツールになっています。オブジェクト指向で言われるSOLIDの「依存性逆転の原則」を実現するための手法です。以下のような、モデルとビューの依存関係があるとします。(簡素化しています)モデルがビューを所有し、モデルに変更があった場合ビューを直接呼び出しています。これはビューに変更に非常に弱い形になります。クラスが削除されても破綻します。これを解消するために、依存性を逆転させて変更への弱さを解消します。クラスを参照するようになりました。実装を脅かさなければモデルに影響を与えませんし、モデルもビューの変更を気にすることなく実装を変更することができます。渡すのか?」という部分が欠落しています。様々な手法が開発されています。開発を行う場合、一番重要なパーツはシーンに配置されるゲームオブジェクトです。各スクリプトはゲームオブジェクトが存在する前提で動作しますし、また必要になるパーツも大体はゲームオブジェクトが付随しています。ゲームオブジェクト自体が管理できないもの(するのが不便なもの)もあります。主人公の体力などはゲームオブジェクトで保持してもいいかもしれませんが、ステージの数や出てくる敵、装備画面の説明文など、ゲームオブジェクトに付随させると大変になるデータも存在します。変数でどこかに保持したりしていると、不便な場面がやってきます。アクションゲームを作っていて、主人公キャラを作っているとしましょう。使って移動させたり、弾を発射させたり。コンソールに表示され何も動きません。初期化されていませんでした。変数を初期化するメソッドを書きます。なっていて、すぐにプレイヤーが死んでしまいました。設定してしまっているようです。記述し、再度初期化が行われないようにしたのです。私はこのような状況に陥ったとき、デプロイされたコードに対して非常に不安になります。仕組みになるわけです。自体の使い方については、他にいろいろ具体的で詳細な使用方法が記載されている記事にお任せして、こちらでは主に設計と、それを考えていく道筋を紹介したいと思います。何も知らない状況の方が見ている可能性もありますので、ひとまず読み進められるよう簡単に使い方を説明しておきます。以下のような流れでインジェクションを行っていきます。いうクラスを継承したゲームオブジェクトを指定します。いうクラスのインスタンスにバインド情報を登録します。属性がついているメンバ全てにインジェクションを行います。こんな感じの流れになります。ついて以下の前提条件を知っておく必要があります。シーンごとに1つ設置できる。この仕様を利用して、インジェクションを行っていきます。使って開発しやすいコードにしていきましょう。