public virtual void setupEvent()
    {
        closeButton.OnSafeClickAsObservable()
        .Subscribe(_ => {
            Debug.Log("close btn clicked");
            dialogAnimation.CloseAnimation(() => {
                OnSelectIndex.OnNext(SelectIndex.Cancel);
                OnDialogState.OnNext(DialogState.Close);
            });
        })
        .AddTo(this);

        cancelButton.OnSafeClickAsObservable()
        .Subscribe(_ => {
            Debug.Log("close btn clicked");
            dialogAnimation.CloseAnimation(() => {
                OnSelectIndex.OnNext(SelectIndex.Cancel);
                OnDialogState.OnNext(DialogState.Close);
            });
        })
        .AddTo(this);

        okButton.OnSafeClickAsObservable()
        .Subscribe(_ => {
            Debug.Log("ok btn clicked");
            dialogAnimation.CloseAnimation(() => {
                OnSelectIndex.OnNext(SelectIndex.OK);
                OnDialogState.OnNext(DialogState.Close);
            });
        })
        .AddTo(this);
    }