<UniRx>Pairwiseで雑にtoggleするUI試作

public enum State
{
    A,
    B,
}

public interface IUI
{
    void Open();
    void Clise();
}

ReactiveProperty<State> currentState;
Dictionary<State, IUI> ui;

currentState.Pairwise().Subscribe(x =>{
    if (ui.ContainsKey(x.Previous)) ui[x.Previous].Close(); // 前のStateに該当するUIをClose
    if (ui.ContainsKey(x.Current)) ui[x.Current].Open(); // 現在のStateに該当するUIをOpen
});

こんな奴。

最初のOpenどうするのみたいなのはあるけどそれは普通に単体でOpenすればいいんじゃないかなぁ。。。

<追記> UniRxのバージョンは5.2.0 Unityは5.2.3p1

/*コードブロックに言語名を表示*/ pre.code:before { content: attr(data-lang); display: inline-block; background: #ccc; /*カラーコード変更*/ color: #666; padding: 3px; position: absolute; margin-left: -20px; /*表示位置を調整*/ margin-top: -30px; } pre.code { padding-top: 30px !important; border:2px solid #ccc; /*追加:コード表示部分の枠設定*/ background:#f8f8f8; /*追加:コード表示部分の背景色*/ position:relative; /*追加*/ }