UniRxで一定時間マウスオーバーで情報表示

カードゲームを作ったんですが、一定時間マウスオーバーでカードの情報を表示したかったのでUniRxでやってみました。結構スッキリ書けて満足。

そのゲームはこちら↓
unityroom.com

    void Start()
    {
        const float mouse_over_time = 2.0f;
        var eventTrigger = gameObject.AddComponent<ObservableEventTrigger>();
        eventTrigger
            .OnPointerEnterAsObservable()
            .SelectMany(_ => Observable.Timer(TimeSpan.FromSeconds(mouse_over_time)))
            .TakeUntil(eventTrigger.OnPointerExitAsObservable()) //PointerExitされたらストリームをリセットする
            .RepeatUntilDestroy(this.gameObject) // 死ぬまで以上を繰り返す
            .Subscribe(_ =>
            {
                cardInformation.SetActive(true);
            });

        eventTrigger
            .OnPointerExitAsObservable()
            .Subscribe(_ =>
            {
                cardInformation.SetActive(false);
            }).AddTo(this.gameObject);
    }