わかりづらいタイトルですみません
オンラインRPGに良くある,いくつかスイッチがあってそれらが全て押されているときだけ開く扉をUniRxで実装したいと思ってます.
このとき,各スイッチが押されているかの状態を ReactiveProperty にした場合,扉はUniRxでどのように実装するのがベストプラクティスでしょうか.
各スイッチを表す Switch.cs と スイッチの状態を監視する Door.cs は以下のような実装になっています.
どなたかご教授お願いします.
Switch.cs
1public class Switch : MonoBehaviour 2{ 3 // スイッチが押されているか? 4 public BoolReactiveProperty isPushed = new BoolReactiveProperty(); 5 6 void Start() 7 { 8 // GetStateから true または false を格納 9 isPushed.Value = GetState() 10 } 11}
Door.cs
1public class Door: MonoBehaviour 2{ 3 // インスペクタでSwitchを登録しておく 4 [SerializeField] 5 private List<Switch> switches; 6 7 void Start() or Update()? 8 { 9 // ここで登録された Switch の isPushed が全て true になったら Open() を呼び出したい 10 } 11 12 void Open() 13 { 14 // 開く処理 15 } 16}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/23 07:14
2018/09/23 08:57
2018/09/23 09:15