UniRxとデザインパターンついての質問です。
現在Unity(C#)を用いてゲーム開発をしており、Stateパターンを主に使って制作していました。(ゲームの内容はターン制のゲーム。)
しかし、UniRxを使った制作に切り替えようと思い、適した処理にはUniRxを使った書き方に直したのですが、UniRxはObserverパターンであり、Stateパターンを主軸にしていたこともあり、よく避けたほうが良いと耳にするパターンの乱用が起こってしまっているのではないかと感じ、質問させていただくに至りました。
具体的には移動処理とメニュー画面を表示させる処理でパターンを併用しています。
移動処理にはenum型で状態を持たせ、自分のターンでなおかつ移動可能状態であれば、移動が割り当てられているキーを押したら移動するというものです。(Stateパターン)
メニュー画面の表示はキーが押されたときにそのキーがメニュー画面を表示する者であればメニューを表示するというものです。(Observerパターン)
現在は学校に通っており、web系の教員に話を聞いたら、移動処理などの絶対に行われるであろう処理に使うのは不自然だと言われました。処理速度の計測は行っていないのですが、よく行われるものを監視し続けるのは確かに無駄が多いのかなと感じています。
非常に便利だと感じているので、UniRxは使っていこうと考えており、乱用を避けることを考えると適してないであろう移動処理をObserverパターンで書き直すということになってしまいます。
質問内容をまとめると2点あり、移動処理などの行われやすい処理にはパターンが乱立してもOvserverパターンを使わないべきなのかということが1つです。
(ゲーム内での'移動'は毎ターン必ず行われるという事はない。しかし移動なくしてクリアは不可能であり、いずれは必ず呼ばれるであろう想定)
2つ目はどの程度なら異なったパターンを併用しても良いのかという点です
同じスクリプト内に無かったらよいというものなのか、まったく異なったものがあってはならないというものなのか、はたまた、処理によって変えているのであれば問題ではないのか等、程度を教えていただきたいです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/10 10:33