ニートが学ぶUniRx MV(R)Pパターン

はいどーもこんにちはニートです。
今回は特に参照する記事はなく、MV(R)Pパターンを使ったサンプルを組み立ててみたいと思います。

MV(R)Pパターンとは

前回の記事でも書きましたが、僕が理解した限りではこんな感じ。

・PresenterはModelもViewも知っている
・ModelもViewもPresenterに依存しない
・ModelはReactivePropertyを持っている
・ViewはつまりuGUI

ここまでわかったところで、今回は

・ToggleのIsOnが変更されたらModelに伝わる
・Modelを変更するとToggleにも伝わる
・その結果をTextに表示する

という機能を作ってみようと思います。

下準備

適当にuGUIのToggleとTextを設置してください。
それからToggleModelクラスとTogglePresenterクラスを作成します。
内容はこんな感じ。

上記のクラスは適当なオブジェクトに貼り付けといてください。

上記のクラスはトグルに貼り付けて、インスペクタも設定してください。
あとは動かすと、ViewであるトグルのOn/Offを切り替えるとModelのOn/Offも変わります。
逆にModelのOn/Offを切り替えると(インスペクタから簡単に確認できるようにするために今回はジェネリッククラスを使っていません)、ViewであるトグルのOn/Offも切り替わります。
今回はテキストの部分はかなり雑な作りにしましたが、必要ならこっちもModelとViewをわけるといい感じなんじゃないでしょーか。
あとこのMV(R)Pパターンって、Zeject使うといい感じになりそうな気がしています。

終わりに

理解するのにだいぶ苦労したMV(R)Pパターンでしたが、とりあえず「何が便利なのか」くらいは把握できました。
今度からUIを使う際はこのパターンを使用しようと思いますよ。

ほなそんな感じでまた。

フォローする