いま香港がただメッシの話題しかないことを見ると、やはり僕が知ってた香港はもういないなと再認識。こんなどうでもいいことがここまで騒いていると、まあ香港政府を含めて香港のイメージがただ下がりということに自覚はないかね
さて、今日もDI。VContainerの情報をもう少し調べていくと、やっと原理を掴み取れた。たぶん、昨日まで自分が思ってたこととは逆であっ。
もとよりUnity自体はMonoBehaviourでコードを作るのが普通なので、だからDIでは最初もMonoBehaviourにInjectすることと勘違いしてた。
しかしよく見ると発想は逆であった。そもそもMonoBehaviourから切り離すのが目的であり、MonoBehaviourが必要なときに(View)クラスにInjectするというのが本当のやり方であった。
それを勘違いしてたから、道理で昨日までうまく進めなかったわ…
しかしここをクリアしたらサクサクになってた。今日はどんどんDIコンテナ化の実装を進み、ほぼすべてのMonoBehaviourのコア処理をDIコンテナに改修しました。よく見たら、SerializeFieldや、一部の処理だけですね(例えばGameObjectの廃棄はどうやらMonoBehaviourなしではできない)、MonoBehaviour依存している。そことUIなどをMonoBehaviourに残し、ViewとしてDIコンテナにInjectするように改修した。
すると、かなり簡潔になっていた。なにより依存関係がめちゃスッキリした。
これでAPIを受け入れる土台ができました。